[typescript] 인터페이스의 제네릭 타입에 타입 제한을 설정하는 방법

제네릭은 타입스크립트에서 재사용 가능한 컴포넌트를 만들 때 매우 유용하게 활용됩니다. 때때로 제네릭에 특정한 타입을 제한하고 싶을 수 있는데, 이때 인터페이스에 제네릭을 사용하는 방법에 대해 알아보겠습니다.

타입 제한이란?

제네릭을 사용하여 함수나 클래스를 작성할 때, 특정 타입에 대한 제약을 걸 수 있습니다. 이를 통해 유효한 타입의 파라미터나 속성에 대한 보증을 할 수 있습니다.

인터페이스에서 제네릭 타입 제한 설정하기

다음은 인터페이스에서 제네릭 타입에 제한을 설정하는 방법을 보여주는 예제입니다.

interface Printable {
  print(): void;
}

function printAll<T extends Printable>(arr: T[]): void {
  arr.forEach(item => item.print());
}

위의 예제에서 printAll 함수는 Printable 인터페이스를 구현하는 타입에 대해서만 동작합니다. 이를 통해 print 메서드가 있는 타입에 대해서만 printAll 함수를 사용할 수 있도록 제한을 걸었습니다.

이러한 타입 제한을 통해 코드의 안정성을 높일 수 있고 잠재적인 에러를 방지할 수 있습니다.

결론

인터페이스 제네릭 타입에 제한을 거는 것은 타입스크립트에서 강력한 타입 시스템을 활용하여 코드의 안정성을 높이는 중요한 방법입니다. 제네릭을 사용할 때 타입 제한을 활용하여 안전하고 신뢰성 있는 코드를 작성할 수 있습니다.