[typescript] 제네릭 인터페이스를 사용하여 다른 제네릭 인터페이스 상속하기
목차
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
인터페이스를 상속하고 있으며, 새로운 속성 width
와 height
를 추가로 정의하고 있습니다. 이렇게 함으로써 공통적으로 사용되는 속성이나 메서드를 하위 인터페이스에 재사용할 수 있게 됩니다.
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에서 코드를 재사용하고 유지보수하기 쉽게 만들 수 있습니다. 이를 통해 안정적이고 유연한 코드를 작성할 수 있으며, 소프트웨어 개발의 생산성을 향상시킬 수 있습니다.
이상으로, 제네릭 인터페이스 상속에 대해 알아보았습니다. 감사합니다.
참고 자료: