class Car { // 1번
constructor(color){
this.color = color;
this.wheels = 4;
}
drive(){
console.log("Driving..")
}
stop(){
console.log("Stop!")
}
}
class Bmw extends Car { // 2번
constructor(color){ //2번
super(color); // 2번
this.navigation = 1;
}
stop(){
super(); // "Stop!" // 3번
console.log("OFF") // "OFF" // 3번
}
park(){
console.log("Parking")
}
}
1번, 클래스(class)는 새로 추가 된 문법으로 기존의 클래스 문법에서 new 생성자를 쓰지 않고 할당이 되어버려서 undefined 값으로 할당되어 오류를 찾을 수 없었던 단점을 보완 해준다.
2번, extends를 통해 부모클래스의 프로퍼티를 상속받을 수 있다.
constructor(가져올키값)
super(가져올키값)
3번, 메소드 오버라이딩 (Method overriding)
super()를 이용하여 부모의 메소드를 가져와 사용한다.
동일한 이름으로 메소드를 재정의하면, 부모의 메소드를 덮어 쓰게 된다.