[typescript] 제네릭 인터페이스를 사용하여 다른 제네릭 인터페이스 상속하기

목차

  1. 제네릭 인터페이스 소개
  2. 제네릭 인터페이스 상속
  3. 예제 코드
  4. 결론

1. 제네릭 인터페이스 소개

제네릭은 자료형과 관련된 코드의 유연성을 높여주는 TypeScript의 강력한 기능 중 하나입니다. TypeScript에서 제네릭을 사용하면 인터페이스, 클래스, 함수 등을 한 번 정의하여 여러 자료형에서 재사용할 수 있습니다.

2. 제네릭 인터페이스 상속

TypeScript에서는 기존의 제네릭 인터페이스를 상속하여 새로운 제네릭 인터페이스를 만들 수 있습니다. 이를 통해 코드의 재사용성과 유지보수성을 향상시킬 수 있습니다.

예를 들어, 다음과 같이 Shape라는 제네릭 인터페이스와 이를 상속받은 Rectangle 제네릭 인터페이스를 정의할 수 있습니다.

interface Shape<T> {
  color: string;
  area: T;
}

interface Rectangle<T> extends Shape<T> {
  width: T;
  height: T;
}

위 예제에서 Rectangle 인터페이스는 Shape 인터페이스를 상속하고 있으며, 새로운 속성 widthheight를 추가로 정의하고 있습니다. 이렇게 함으로써 공통적으로 사용되는 속성이나 메서드를 하위 인터페이스에 재사용할 수 있게 됩니다.

3. 예제 코드

다음은 위에서 설명한 예제 코드의 사용 예시입니다.

function calculateArea(shape: Shape<number>) {
  return shape.area * shape.area;
}

const rectangle: Rectangle<number> = { color: 'red', area: 100, width: 10, height: 5 };
console.log(calculateArea(rectangle)); // 10000

위 코드에서 calculateArea 함수는 Shape 인터페이스를 매개변수로 받고 있습니다. 그리고 Rectangle 제네릭 인터페이스로 선언된 rectangle 객체를 이 함수에 전달하고 있습니다.

4. 결론

제네릭 인터페이스를 상속함으로써 TypeScript에서 코드를 재사용하고 유지보수하기 쉽게 만들 수 있습니다. 이를 통해 안정적이고 유연한 코드를 작성할 수 있으며, 소프트웨어 개발의 생산성을 향상시킬 수 있습니다.

이상으로, 제네릭 인터페이스 상속에 대해 알아보았습니다. 감사합니다.

참고 자료: