클래스와 인스턴스

Mooby·2023년 3월 15일
0

개념정리

목록 보기
1/12

클래스

클래스는 자바스크립트에서 객체지향 프로그래밍을 구현하는 기본적인 개념 중 하나이다. 클래스는 객체의 속성과 메소드를 정의하는 템플릿으로, 이를 기반으로 객체의 인스턴스를 생성할 수 있다.

클래스를 생성하는 방법은 크게 두 가지가 있는데, ES5에서는 생성자 함수와 프로토타입 객체를 사용하였으며, ES6부터는 class 키워드를 사용하여 작성할 수 있게 되었다.

// ES5에서의 클래스 생성 방법
function MyClass(property1, property2) {
  this.property1 = property1;
  this.property2 = property2;
}

MyClass.prototype.method1 = function() {
  // method1의 코드
}

MyClass.prototype.method2 = function() {
  // method2의 코드
}

ES5에서 클래스를 작성할 때는 생성자 함수를 작성한 뒤, 프로토타입 객체에 메서드를 추가하여 클래스를 구현할 수 있다.

// ES6에서의 클래스 생성 방법
class MyClass {
  constructor(property1, property2) {
    this.property1 = property1;
    this.property2 = property2;
  }
  
  method1() {
    // method1의 코드
  }
  
  method2() {
    // method2의 코드
  }
}

ES6에서는 class 키워드를 사용하여 클래스를 작성할 수 있다. class 키워드를 생성자 함수와 메서드를 모두 포함할 수 있으며, 이를 통해 코드의 가독성과 유지보수성이 향상되었다.

인스턴스

인스턴스란,클래스를 기반으로 생성된 객체를 의미한다. 클래스는 객체를 만들기 위한 일종의 템플릿이라고 할 수 있으며, 이 템플릿으로부터 실제로 생성된 객체를 인스턴스라고 한다.

인스턴스를 생성하기 위해서는 new 키워드를 사용한다. new 키워드를 사용하여 클래스를 호출하면, 해당 클래스의 생성자 함수가 실행된다. 생성자 함수는 클래스의 속성과 메소드를 초기화하고, 인스턴스를 반환한다. 이렇게 반환된 객체가 클래스의 인스턴스이다.

class MyClass {
  constructor(property1, property2) {
    this.property1 = property1;
    this.property2 = property2;
  }
  
  method1() {
    // method1의 코드
  }
  
  method2() {
    // method2의 코드
  }
}

const myInstance = new MyClass(value1, value2); // new 키워드를 사용하여 인스턴스 생성

인스턴스는 객체이기 때문에, 속성과 메서드를 동적으로 추가, 변경, 삭제할 수 있다. 이러한 유연성이 객채지향 프로그래밍의 장점 중 하나라고 할 수 있다.

profile
코린이

0개의 댓글