[typescript] 제네릭 인터페이스를 활용하여 다른 제네릭 타입의 조합 구현하기

제네릭은 TypeScript에서 타입 안전성을 유지하면서 다양한 타입의 값을 다룰 수 있는 강력한 기능입니다. 제네릭을 사용하여 인터페이스를 정의하고 조합하는 방법을 알아보겠습니다.

제네릭 인터페이스란?

제네릭 인터페이스는 구체적인 타입을 명시하지 않고, 일반적인 타입으로 정의할 수 있는 TypeScript의 인터페이스입니다. 이를 통해 여러 종류의 타입을 다루는 함수나 클래스를 작성할 수 있습니다.

예를 들어, 배열 또는 객체와 같은 여러 타입을 다루는 자료구조를 만들 때 유용하게 활용할 수 있습니다.

interface DataResponse<T> {
  data: T;
  timestamp: number;
}

위 예제에서 DataResponsedata라는 속성에 대해 여러 타입 중 하나를 포함할 수 있도록 제네릭으로 정의되었습니다.

다른 제네릭 타입의 조합 구현하기

제네릭 인터페이스는 실제 데이터 타입을 알지 못해도 유연하게 사용할 수 있는 장점이 있습니다. 이러한 특성을 활용하여, 다른 제네릭 타입의 조합을 구현할 수 있습니다.

interface Pair<K, V> {
  key: K;
  value: V;
}

function displayPair<K, V>(pair: Pair<K, V>) {
  console.log(`${pair.key}: ${pair.value}`);
}

const nameAgePair: Pair<string, number> = { key: 'Alice', value: 30 };
displayPair(nameAgePair);

위의 예제에서 Pair 인터페이스는 두 개의 제네릭 타입 KV를 가지고 있습니다. 함수 displayPair는 이러한 Pair 인터페이스를 활용하여 다양한 타입의 쌍을 출력할 수 있습니다.

이와 같이 제네릭 인터페이스를 활용하면 유연하고 안전하게 다양한 제네릭 타입의 조합을 구현할 수 있습니다.

위 내용은 TypeScript에서 제네릭 인터페이스를 활용하여 다른 제네릭 타입의 조합을 구현하는 방법에 대해 설명하였습니다. TypeScript에서 제네릭은 코드의 재사용성과 유연성을 높여주는 강력한 도구이며, 적절히 활용하면 보다 안전하고 유지보수성 높은 코드를 작성할 수 있습니다.

참고 자료