[JS] 클래스와 인스턴스

허북이_·2022년 7월 22일
0

JS

목록 보기
13/19
post-thumbnail

클래스와 인스턴스

: 객체 지향 프로그래밍의 기초가 되는 용어로 각 뜻은 다음과 같습니다.

  • class = 하나의 모델이 되는 청사진
  • instance = 클래스를 바탕으로 한 객체

클래스 생성

ES6에서는 class 라는 키워드를 사용하여 생성합니다.

class Car {
	constructor(attributes)
    // 인스턴스가 만들어질 때 실행되는 코드
}

ES5에서는 function 키워드로 생성합니다.

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

새로운 인스턴스 생성

new 키워드를 사용하여 함수를 정의하듯 생성합니다.

let avante = new Car('hyundai', 'avante', 'black')

인스턴스는 Car라는 클래스의 고유한 속성과 메소드를 갖습니다.

ES6 문법에서의 클래스 속성과 메서드의 정의와 인스턴스 사용

class Car {
    constructor(brand, name, color) {
        this.brand = brand;
        this.name = name;
        this.color = color;
    }
}

Car.prototype.drive = function() {
    console.log(this.name + '가 운전을 시작합니다'); 
}
    
let avante = new Car('hyundai', 'avante', 'black');

avante.color; // 'black'
avante.drive() // 'avante가 운전을 시작합니다'

prototype, this, constructor

이 세 단어는 JavaScript에서만 유효한 단어입니다.
각 단어의 의미는 아래와 같습니다.

  • prototype = 클래스를 만들 때 쓰는 원형 객체입니다.
  • constructor = 인스턴스가 초기화 될 때 실행하는 생성자 함수
  • this = 함수가 실행될 때, 해당 스코프마다 생성되는 고유한 실행 컨텍스트 입니다. new 키워드로 인스턴스를 생성했을 때에는, 해당 인스턴스가 this의 값이 됩니다.

피드백은 항상 환영입니다 :D

profile
인간 거북이 허북이

0개의 댓글