공통적인 특징이 있는 것들을 모아 놓은 분류의 의미가 있음
자바스크립트 class는 상속(inherit)이 가능하다
A클래스를 상속 받는 B클래스는 A클래스의 속성을 복사한다.
class Person{
// 생성자(constructor) : class로 객체를 생성하고 초기화하기 위한 매서드
// this, 인스턴스를 반환
constructor(name, age){
this.name = name;
this.age = age;
}
// 프로토타입 매서드 : class body에서 정의한 매서드
sayHello(){
console.log(`저의 이름은 ${this.name} 입니다.`}
}
// static 매서드 : 인스턴스를 생성하지 않아도 호출할 수 있는 매서드
static iamHuman(){
console.log("닝겐게스")
}
}
clas Crew extends Person{
constructor(name, age, nickname){
super(name, age, nickname);
this.nickname = nickname;
}
introduceCrew(){
console.log(`우하한 테크 코스 4기 크루 ${this.name} 입니다`);
}
sayHello(){
super.sayHello();
this.introduceCrew();
}
}
class Person {
constructor(name, age){
// 빈 객체가 암묵적으로 생성되고 this에 바인딩 된다
console.log(this); // Person{}
// this에 바인딩 되어있는 인스턴스를 초기화한다
this.name;
this.age;
// 완성된 인스턴스가 바인딩된 this가 암묵적으로 반환된다.
}
}