super 키워드
super() 키워드는 상위(부모)객체의 함수를 호출할 때 사용됩니다
단, constructor(생성자) 안에서는 super 키워드 하나만 사용되거나 this 키워드 전에 먼저 호출되어야 합니다
부모 클래스의 영역을, 자식클래스(나)도 포함하고 있는 경우! 중복을 줄이려고 그때, 사용하는 키워드 'super'
super 형태 2가지
1.super() = 부모 클래스의 생성자(constructor)
2.super. = 부모클래스의
class Person {
constructor(name, first, second){
this.name =name;
this.first=first;
this.second=second;
}
sum(){
return this.first+this.second;
}
}
class PersonPlus extends Person{
constructor(name, first, second, third){
super(name, first, second);
this.third=third;
}
sum(){
return super.sum() + this.third;
}
avg(){
return (this.first + this.second+this.third)/3;
}
}
let kim = new PersonPlus('kim',10,20,30);
console.log("kim.sum()",kim.sum());
console.log("kim.avg()",kim.avg());
'Javascript' 카테고리의 다른 글
Object.create() (= 명확한 상속관계 지정) (0) | 2023.03.12 |
---|---|
'__proto__' (=관습적으로 써온 상속관계) (0) | 2023.03.12 |
Class Inheritance(상속) (0) | 2023.03.12 |
Class (+constructor 생성자함수) (0) | 2023.03.11 |
prototype(=유전자: 객체들이 공통적으로 사용하는 속성값) (0) | 2023.03.11 |