[typescript] 인터페이스 상속과 구현

TypeScript는 JavaScript에 정적 타입 체계를 추가한 언어로, 객체 지향 프로그래밍에 특히 강점을 보입니다. TypeScript에서는 인터페이스를 사용하여 객체의 형태를 정의하고, 이를 상속하거나 구현하여 코드를 모듈화하고 확장할 수 있습니다.

인터페이스 상속

인터페이스 상속은 기존 인터페이스를 확장하여 새로운 인터페이스를 정의하는 것을 말합니다. 이를 통해 코드의 재사용성을 높일 수 있고, 유지보수성을 향상시킬 수 있습니다.

다음은 TypeScript에서의 인터페이스 상속의 간단한 예시입니다.

interface Shape {
  color: string;
}

interface Square extends Shape {
  sideLength: number;
}

위 예시에서 Square 인터페이스는 Shape 인터페이스를 상속받아 color 속성을 포함하고, sideLength 속성을 추가로 정의하고 있습니다.

인터페이스 구현

인터페이스 구현은 클래스나 객체가 인터페이스의 요구사항을 충족시키도록 하는 것을 말합니다. 구현을 통해 특정한 형태를 가진 객체들 간의 일관성을 유지할 수 있고, 코드의 가독성과 유지보수성을 개선할 수 있습니다.

다음은 TypeScript에서의 인터페이스 구현의 간단한 예시입니다.

interface Clock {
  currentTime: Date;
  setTime(d: Date): void;
}

class DigitalClock implements Clock {
  currentTime: Date = new Date();
  setTime(d: Date) {
    this.currentTime = d;
  }
}

위 예시에서 DigitalClock 클래스는 Clock 인터페이스의 요구사항을 충족시키도록 구현되었습니다.

결론

TypeScript에서의 인터페이스 상속과 구현은 코드의 모듈화와 확장을 위해 중요한 기능입니다. 이를 통해 코드의 일관성과 유지보수성을 높일 수 있으며, 객체 지향 프로그래밍의 원칙을 충족시키는데 도움이 됩니다.

참고 문헌: