class Pet {
constructor (name, age) {
this.name = name;
this.age = age;
}
eat () {
return `${this.name} is eating!`;
}
}
class Cat extends Pet {
//super is referenced super class(which is Pet class in this case)
constructor (name, age, livesleft = 9) {
super(name, age);
this.livesleft = livesleft;
}
//pet의 생성자를 빌려와서 새로운 Cat객체를 생성가능
meow () {
return 'MEOWWWW!!';
}
}
const nabi = new Cat('Nabi', 2);
class Dog extends Pet {
//pet의 생성자를 빌려와서 새로운 Dog객체를 생성가능
bark () {
return 'WOOOF!!!';
}
eat () {
return `${this.name} scarfs his foods!`;
} //Pet class의 eat메소드를 over write
}
const rug = new Dog('Rug', 7);