클래스 : 함수들이 여러개 갖춰진 공장이라고 생각하면 된다.
자바에서도 붕어빵틀을 비유하곤 했었다...
객체(object)를 잘 설계하기 위한 틀.
class Car {
constructor(name, price) {
this.name = name;
this.price = price;
this.department = "선릉지점";
}
applyDiscount(discount) {
return this.price * discount;
}
changeDepartment(departmentName) {
this.department = departmentName;
}
}
생성자는 생성자명을 지정할 수 있는 것이 아니라 고정된 명 constructor이다.
class를 통해 생성된 객체가 인스턴스
위에서 class instance를 생성했다.
인스턴스(Instance)는 class를 통해 생성된 객체이다.
인스턴스는 class의 property이름과 method를 갖는 객체이다.
인스턴스 마다 모두 다른 property 값을 갖고 있다.
const morning = new Car('Morning', 20000000);
메서드는 함수이다.
그런데 객체가 프로퍼티 값으로 갖고 있는 것을 메서드라고 부른다.
Class의 method는 Object(객체)의 문법과 똑같다.
다만 객체는 프로퍼티마다 comma(,)로 구분해줘야 했지만, 클래스는 그렇지 않다.
Car 객체에 changeDepartment 메서드를 추가했습니다.