[typescript] 제네릭 인터페이스를 활용하여 데이터 유형 간의 변환 방법

소프트웨어를 개발하다 보면 데이터 유형 간에 변환을 자주 해야 하는 경우가 있습니다. TypeScript에서는 제네릭(Generics)을 사용하여 이러한 문제를 간단하게 해결할 수 있습니다. 이번 글에서는 TypeScript에서 제네릭 인터페이스를 활용하여 데이터 유형 간의 변환하는 방법을 살펴보겠습니다.

제네릭(Generics)이란?

제네릭은 데이터 유형에 의존하지 않고 다양한 유형의 데이터를 처리할 수 있도록 하는 TypeScript의 핵심 기능 중 하나입니다. 제네릭을 사용하면 함수, 클래스, 인터페이스 등을 정의할 때 유동적으로 데이터 유형을 다룰 수 있습니다.

제네릭 인터페이스 예시

아래는 제네릭 인터페이스를 사용하여 데이터 유형을 변환하는 간단한 예시입니다.

interface Converter<T, U> {
  convert: (input: T) => U;
}

// 숫자를 문자열로 변환하는 Converter
const numberToStringConverter: Converter<number, string> = {
  convert: (input) => String(input)
};

// 배열을 문자열로 변환하는 Converter
const arrayToStringConverter: Converter<number[], string> = {
  convert: (input) => input.join(', ')
};

console.log(numberToStringConverter.convert(123)); // "123"
console.log(arrayToStringConverter.convert([1, 2, 3])); // "1, 2, 3"

위 예시에서는 Converter라는 제네릭 인터페이스를 정의하고, 다양한 유형의 데이터를 다루기 위해 제네릭 타입 TU를 사용했습니다. 이를 활용하여 각각 숫자를 문자열로, 배열을 문자열로 변환하는 기능을 구현할 수 있습니다.

결론

제네릭 인터페이스를 사용하면 데이터 유형에 관계없이 유연한 변환 기능을 구현할 수 있습니다. TypeScript에서 제네릭을 적절히 활용하여 코드의 재사용성과 유지보수성을 높일 수 있으니, 제네릭에 대한 이해를 바탕으로 다양한 상황에서 유용하게 활용해보시기를 권장합니다.

참고문헌: