[typescript] 인터페이스를 구현한 클래스가 어떤 메서드를 추가로 구현해야 하는가?

TypeScript에서 인터페이스를 구현한 클래스는 해당 인터페이스의 모든 멤버를 구현해야 합니다. 인터페이스에 선언된 모든 속성과 메서드를 구현하는 것이 필수입니다. 만약 인터페이스에 존재하는 메서드를 추가로 구현하지 않으면, 컴파일 오류가 발생합니다.

간단한 예를 통해 설명하겠습니다.

interface Shape {
  getArea(): number;
}

class Circle implements Shape {
  radius: number;
  constructor(radius: number) {
    this.radius = radius;
  }
  
  getArea(): number {
    return Math.PI * this.radius ** 2;
  }
}

위의 예제에서 Shape 인터페이스를 구현한 Circle 클래스는 getArea 메서드를 추가로 구현했습니다. 이렇게 인터페이스에 선언된 메서드를 구현한 클래스를 선언하면 정상적으로 컴파일됩니다.

따라서, TypeScript에서 인터페이스를 구현한 클래스는 인터페이스에 선언된 모든 메서드를 추가로 구현해야 합니다.

참고 자료: