상속

박현석·2022년 8월 25일
1

Javascript ES6+

목록 보기
44/88

상속

class Animal {
  constructor(color) {
    this.color = color;
  }
  eat() {
    console.log('먹자!');
  }
  sleep() {
    console.log('잔다');
  }
}
class Tiger extends Animal {}
const tiger = new Tiger('노랑이');
console.log(tiger);
tiger.sleep();
tiger.eat();
class Dog extends Animal {
  constructor(color, ownerName) {
    super(color);
    this.ownerName = ownerName;
  }
  play() {
    console.log('놀자아~!');
  }
  // 오버라이딩 overriding
  eat() {
    super.eat();
    console.log('강아지가 먹는다!');
  }
}
const dog = new Dog('빨강이', '엘리');
console.log(dog);
dog.sleep();
dog.eat();
dog.play();
  • 클래스 마다 공통된 행동 이나 속성이 있다면 상속을 사용 할 수 있다.
  • 추가적으로 필요한게 있다면 함수를 추가 할 수 있다.
  • 상속 주의점
    자식의 생성자를 정의 하는 순간 부모의 필요한 것을 다 받아와야한다.
  • 부모의 생성자를 호출 할 때는 super 키워드를 사용한다.
    super -> 상속하고 있는 부모 클래스를 가리킨다
  • 자식 클래스에서 부모 클래스의 있는 함수를 덮어씌우는 것을 오버라이딩 이라고 한다.
profile
선한 영향력을 주는 사람

0개의 댓글