더북(TheBook)

애초에 인터페이스의 속성은 protectedprivate이 될 수 없습니다. 따라서 implements한 클래스에서도 인터페이스의 속성들은 전부 public이어야만 합니다. 속성이 protected이거나 private인 경우에는 에러가 발생합니다.

클래스 메서드에는 override 수식어가 있는데, 이 override 수식어를 활용하려면 TS Config 메뉴에서 noImplicitOverride 옵션이 체크되어 있어야 합니다.

체크하면 다음 코드에서 에러가 발생합니다.

class Human {
  eat() {
    console.log('냠냠');
  }
  sleap() {
    console.log('쿨쿨');
  }
}
class Employee extends Human {
  work() {
    console.log('끙차');
  }
  sleap() {
    console.log('에고고');
  }
}
// This member must have an 'override' modifier because it overrides a member in the base class 'Human'.
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.