JS Class -> Inheritance(상속)

오성인·2023년 4월 5일
0

JS

목록 보기
20/27
post-thumbnail
// 상속(Inheritance)
// Class -> 유산으로 내려주는 주요 기능

// 부모(superclass or base class) -> 자식(subclass or derived class)

// 예시
// 동물 전체에 대한 클래스에요
class Animal {
  // 이름을 필수로 받아야 해요
  constructor(name) {
    this.name = name;
  }

  // 동물의 행동을 정의하는 메소드
  speak() {
    console.log(`${this.name} makes a noise.`);
  }
}

// 동물 클래스를 상속받는 Dog 클래스를 만들어요
// 상속 받기 (extends)
class Dog extends Animal {
  // 상속받을 때, speak()를 입맛에 맞게 재정의해요.
  //  -> 오버라이딩 (덮어쓰기)
  speak() {
    console.log(`${this.name} barks.`);
  }
}

// Dog를 만들 때는 Animal의 상속을 받은 class이기 때문에 이름을 필수로
// 받아야 해요!
let d = new Dog("Mitzie");

// speak는 'makes a noise'가 아니라, 'barks'가 출력되네요.
d.speak(); // "Mitzie barks."
profile
기여하는 개발자

0개의 댓글