[typescript] 제네릭 인터페이스를 활용하여 유연한 코드 작성하기

제네릭은 TypeScript에서 타입 안정성(type-safety)을 유지하면서 재사용 가능한 컴포넌트(함수, 클래스 등)를 만들 수 있게 하는 획기적인 기능입니다. 특히, 제네릭을 활용한 인터페이스는 다양한 타입과 함께 동작하는 코드를 작성하는데 매우 유용합니다.

제네릭 인터페이스란?

제네릭 인터페이스는 인터페이스 안에서 타입 매개변수를 사용하여 다양한 타입을 지원할 수 있도록 하는 방법입니다. 이를 통해 동일한 인터페이스를 여러 타입에 대해 선언하고 재사용할 수 있습니다.

제네릭 인터페이스는 다음과 같이 작성할 수 있습니다.

interface Container<T> {
  value: T;
}

위의 예시에서 <T>타입 매개변수를 나타냅니다. 이제 Container 인터페이스를 사용할 때마다 실제 타입을 지정하여 유연하게 활용할 수 있습니다.

예시

아래는 제네릭 인터페이스를 활용하여 다양한 타입을 가진 데이터를 다루는 예시 코드입니다.

interface Container<T> {
  value: T;
}

function displayValue<T>(container: Container<T>): void {
  console.log(container.value);
}

const numberContainer: Container<number> = { value: 10 };
const stringContainer: Container<string> = { value: "Hello, World!" };

displayValue(numberContainer); // 출력: 10
displayValue(stringContainer); // 출력: Hello, World!

위 예시에서는 Container 인터페이스를 사용하여 numberstring 타입을 다룰 수 있는 코드를 작성하였습니다. 이처럼 제네릭 인터페이스를 활용하여 코드를 작성하면 타입 안정성을 유지하면서 코드의 재사용성을 높일 수 있습니다.

제네릭 인터페이스를 사용하면 다양한 타입의 데이터를 다룰 수 있는 유연하고 안정적인 코드를 작성할 수 있다는 것을 알 수 있습니다. 이러한 기능을 적극적으로 활용하여 TypeScript 코드를 작성하면 유지보수가 쉬우면서 안정적인 소프트웨어를 개발할 수 있습니다.

결론

제네릭 인터페이스를 활용하여 코드를 작성하면 다양한 타입에 대해 유연하게 대응할 수 있습니다. 이를 통해 코드의 재사용성을 높이고 안정성을 유지하면서 프로그래밍 작업을 효율적으로 수행할 수 있습니다.


참고 자료: