
먼저 class의 개념을 되짚어 보자.

- 객체를 생성하는 틀이다.
- 속성(데이터)와 메서드(기능)을 정의한다.
class Coffe {
constructor(price, size){
this.price = price; //속성( 데이터 ) 를 정의
this.size = size;
}
order(){ // 클래스의 메서드.
let sizePrice = 0;
if(this.size === 'G'){
sizePrice = 500;
}else if(this.size === 'V'){
sizePrice = 1000;
}
const totalPrice = this.price + sizePrice;
return totalPrice;
}
}
속성
cunstructor 내부 this.price = price와 같이 데이터를 정의하는 것
메서드
클래스 내부에 선언된 함수.
constructor
클래스 인스턴스 초기 상태를 설정하는 역할 하는 생성자 함수.
Instance 인스턴스
클래스를 이용해서 만들어진 실제 객체.
아래 예시에서 lesaCoffe 가 바로 Coffe 클래스의 인스턴스 이다.
또한 클래스에서 선언된 메소드( order() ) 를 사용할 수 있다.
const lesaCoffe = new Coffe('latte', 'G');
lesaCoffe.order()
super()
class를 extends 해서 사용하면 super의 인자로 주는 값은
extends 한 부모요소의 constructor 함수 내부 파라미터가 된다.
const americano = 1500;
const defaultSize = 'R';
class TartarBucks extends Coffe {
constructor (){
super(americano, defaultSize);
//인자로 넣은 americano와 defaultSize는
//Coffe 클래스의 constructor 파라미터로 들어감.
}
console.log('this.price', this.price);
}