constructor
: class의 instance 객체를 생성하고 초기화하는 특별한 메소드
class Rectangle {
constructor() {
this.name = 'Rectangle';
}
}
const Rec1 = new Rectangle();
Rec1.name; // 'Rectangle'
constructor() {}
constructor(...args) {
super(...args);
}
extends
class [자식] extends [부모]
: 클래스를 상속하기 위해 클래스 선언 시 사용하는 키워드
class Student extends Human {...}
super
super(...args)
: 부모 클래스의 생성자 함수를 호출할 때 사용하는 키워드
super
키워드는 하나만 사용해야 한다. this
키워드가 나오기 이전에 호출되어야 한다.class Human {
constructor(name, age) {
this.name = name;
this.age = age;
}
sleep() {
console.log('Zzz..');
}
}
class Student extends Human{
constructor(name, age, grade) {
super(name, age);
this.grade = grade;
}
study(num) {
this.grade = grade + num;
console.log(`${this.name}의 성적이 ${num}만큼 올라 ${this.grade}가 되었습니다.`);
}
}
let jieun = new Student('Jieun', 26, 90);
jieun.sleep(); // Zzz..
위 코드에서 Human은 부모 클래스, Student는 자식 클래스이다.
➡️ Student 클래스는 extends
키워드를 이용해 Human 클래스를 상속한다.
기본값 매개변수를 설정할 수 있다.
class Rectangle {
constructor() {
this.name = 'Rectangle';
this.line = 4;
this.angle = 90;
}
}
class Square extends Rectangle {
constructor() {
super();
this.name = 'sqaure';
}
}
let sqr1 = new Square();
sqr1.name; // 'square'
sqr1.line; // 4
sqr1.angle; // 9
❔ 학습 후 궁금한 점
- 기본 생성자(default constructor)에 대해 제대로 이해하지 못했다.