더북(TheBook)

abstract class로 선언합니다. abstract 클래스의 속성과 메서드는 abstract일 수 있습니다. 속성과 메서드가 abstract인 경우 실제 값은 없고 타입 선언만 되어 있습니다. 반면 sayName 메서드나 name, age, married처럼 구현되어 있을 수도 있습니다. RealPerson 클래스는 AbstractPerson 클래스를 상속합니다. 이때 반드시 abstract 속성이나 메서드를 구현해야 합니다. RealPerson 클래스는 sayAge 메서드만 구현하고 value 속성과 sayMarried 메서드를 구현하지 않았으므로 에러가 발생합니다.

다음과 같이 구현하면 에러가 사라집니다.

class RealPerson extends AbstractPerson {
  value: number = 0;
  sayAge() {
    console.log(this.age);
  }
  sayMarried() {
    console.log(this.married);
  }
}
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.