클래스
자바스크립트에서 클래스는 객체 지향 프로그래밍을 구현하기 위한 템플릿이자 설계 도구 이다.
클래스 생성방법
class MyClass {
constructor() {
// 생성자 메서드
}
method1() {
// 메서드 정의
}
method2() {
// 메서드 정의
}
// ...
}
위의 예제에서 MyClass는 클래스 이름이고 constructor은 생성자 메서드로 생성자 메서드는 객체를 생성할 때 가장먼저 호출되는 메서드로 초기화 작업을 수행한다.
인스턴스
함수를 사용하기 위해 함수를 호출 하듯이 클래스를 사용하려면 인스턴스를 생성해야 한다.
클래스가 객체를 생성하기 위한 템플릿이라면, 인스턴스는 그 템플릿을 통해 실제로 생성된 객체이다.
비유하자면 붕어빵틀 = 클래스라면, 붕어빵 = 인스턴스(또는 객체)가 된다.
클래스는 객체의 특징을 정의 하고 속성과 동작을 포함한다. 이러한 클래스를 기반으로 객체를 생성하면 그 객체는 해당 클래스의 인스턴스가 된다.
각 인스턴스는 클래스에서 정의 한 속성과 상태를 유지하지만 인스턴스는 각각의 인스턴스는 독립적인 상태를 유지한다.
예를 들어 한페이지에 2개의 슬라이드가 있다면 두개의 클래스가 아니라 하나의 클래스를 만들고 두 개의 인스턴스를 만들어서 각각 독립적으로 사용할수 있다.
인스턴스 생성방법
var 인스턴스명 = new 클래스명();
new 키워드를 사용하여 클래스의 인스턴스를 생성 이렇게 하면 인스턴스명으로 클래스에 정의 한 동작과 속성을 호출하거나 접근해서 사용할 수 있다.
같은 클래스를 이용해 여러개의 인스턴스를 생성할 수 있고 각 인스턴스는 독립적이다.
객체(Object)와 인스턴스(Instance)
객체는 인스턴스와 비슷한 개념을 가지고 있지만 약간의 차이가 있다.
일반적으로 객체는 추상적인 개념으로 속성과 동작을 가지는것을 의미하고 객체는 어떤 개념이나 실체를 나타내는 일반적인 용어로 사용된다.
반면에, 인스턴스는 클래스나 프로토타입과 같은 템플릿으로 부터 실제로 생성된 구체적인 개체를 의미한다.
그러니까 클래스나 프로토타입을 설계도라고 한다면, 객체는 설계도를 기반으로 만들어진 실체를 의미하고, 인스턴스는 그 실체 자체를 가리킨다.
예를들어 사람을 나타내는 클래스가 있다고 가정하면 이 클래스는 이름과 나이라는 속성을 가지고 있고, 말하기라는 동작을 정의 했다고 하면 이때 클래스는 사람의 개념을 나타내는 객체라고 볼 수 있고 철수와 영희라는 객체는 이 클래스를 기반으로 생성된 인스턴스이다. 각각의 인스턴스는 클래스에서 정의한 속성과 동작을 상속하며 각자 고유한 상태를 가지고 있다.
'javaScript' 카테고리의 다른 글
함수 방식 클래스 (0) | 2023.06.14 |
---|---|
오브젝트 리터럴 클래스로 매개변수 전달하기 (0) | 2023.06.08 |
마우스 클릭 위치 구하기 clientX, clientY, pageX, pageY (0) | 2023.04.27 |
스크롤 될 때 이벤트 처리하기 scroll (0) | 2023.04.25 |
스크롤 위치 설정하기 scrollTo(), scrollBy() (0) | 2023.04.21 |
댓글