728x90
반응형
/**
* Super and Override
*/
class IdolModel{
name;
year;
constructor(name, year){
this.name = name;
this.year = year;
}
sayHello(){
return `안녕하세요 ${this.name}입니다.`;
}
}
class FemaleIdolModel extends IdolModel{
// 노래 / 춤
part;
constructor(name, year, part){
super(name, year);
this.part = part;
}
sayHello(){
// return `안녕하세요 ${this.name}입니다. ${this.part}를 맡고있습니다.`;
return `${super.sayHello()} ${this.part}를 맡고있습니다.`;
}
}
const yuJin = new FemaleIdolModel('안유진', 2003, '보컬');
console.log(yuJin); // FemaleIdolModel {name: '안유진', year: 2003, part: '보컬'}
const wonYoung = new IdolModel('장원영', 2002);
console.log(wonYoung); // IdolModel {name: '장원영', year: 2002}
console.log(wonYoung.sayHello()); // 안녕하세요 장원영입니다.
console.log(yuJin.sayHello()); // 안녕하세요 안유진입니다. 보컬를 맡고있습니다.
728x90
반응형
'코드팩토리 JS' 카테고리의 다른 글
| 19. About Object (0) | 2025.12.26 |
|---|---|
| 18. Class Test (1) | 2025.12.26 |
| 16. inheritance (0) | 2025.12.26 |
| 15. static keyword (0) | 2025.12.26 |
| 14. Getter and Setter (0) | 2025.12.26 |