클래스와 인스턴스

최준호·2022년 9월 21일
0

< 목차 >

  1. 클래스와 인스턴스

1. 클래스와 인스턴스

  • 객체 지향 프로그래밍이란 하나의 모델이 되는 청사진을 만들고, 그 청사진을 바탕으로 한 객체를 만드는 프로그래밍 팬턴이다.
  • 하나의 모델이 되는 청사진을 만들고 -> class
    그 청사진을 바탕으로 한 객체를 만드는 -> instance
    프로그래밍 패턴이다.

<예시>

▶ es5 클래스는 함수로 정의할 수 있다.

function Car(brand, name, color) {
  //인스턴스가 만들어질 때 실행되는 코드
}

▶ es6에서는 class라는 함수로 정의할 수 있다.

Class Car(
  constructor(brand, name, color) {
  	// 인스턴스가 만들어질 때 실행되는 코드
  }
}
  • 클래스를 만드는 문법은 ES6에서 도입된 문법이다. 최근에는 주로 이 방법을 사용한다.
  • 위 함수는 객체지향 프로그래밍에서 '생성자함수'라고 부른다. 인스턴스가 만들어질 때 실행되는 코드이다.
  • 이 함수는 return 값을 만들지 않는다.

new키워드를 통해 클래스의 인스턴스를 만들어낼 수 있다.

<예시>

let avante = new Car('hyundai', 'avante', 'black');
let mini = new Car('bmw', 'mini', 'white');
let beetles = new Car('volkswagen', 'beetles', 'red');
  • 각각의 인스턴스는 Car라는 클래스의 고유한 속성과, 메서드를 갖는다.

▶ 클래스 속성의 정의

this

  • this는 인스턴트 객체를 의미한다. parameter로 넘어온 속성값을 지정하는 값이며, this에 할당한다는 것은 만들어진 인스턴스에 해당 속성값을 부여하겠다는 의미이다.

▶ 클래스 메소드의 정의

  • ES5는 prototype이라는 키워드를 사용해야 메서드를 정의할 수 있다.
  • ES6에서는 생성자 함수와 함께 class 키워드 안쪽에 묶어서 정의한다.

profile
LV2 프론트엔드 엔지니어

0개의 댓글