[typescript] 제네릭 인터페이스를 이용한 다양한 유형의 입력 처리 방법

제네릭(Generics)은 타입스크립트에서 유연하게 다룰 수 있는 타입을 정의하는 방법입니다. 이를 활용하면 하나의 인터페이스로 여러 유형의 입력을 처리할 수 있습니다. 이번 포스트에서는 제네릭 인터페이스를 활용하여 다양한 유형의 입력을 처리하는 방법을 살펴보겠습니다.

제네릭 인터페이스란?

제네릭 인터페이스는 다양한 타입을 다룰 수 있도록 타입을 매개변수화하는 인터페이스입니다. 예를 들어, 배열이나 객체와 같이 여러 유형의 입력을 처리해야 하는 상황에서 유용하게 활용될 수 있습니다.

예시: 다양한 유형의 입력을 처리하는 함수

다음은 제네릭 인터페이스를 사용하여 다양한 유형의 입력을 처리하는 함수의 예시입니다.

interface Input<T> {
  value: T;
  isValid: boolean;
}

function processInput<T>(input: Input<T>): void {
  if (input.isValid) {
    console.log(`Processing input: ${input.value}`);
  } else {
    console.error('Invalid input');
  }
}

// 숫자 입력 처리
const numberInput: Input<number> = { value: 123, isValid: true };
processInput<number>(numberInput);

// 문자열 입력 처리
const stringInput: Input<string> = { value: 'hello', isValid: true };
processInput<string>(stringInput);

위 예시에서 Input 인터페이스는 제네릭으로 정의되어 있고, processInput 함수는 해당 인터페이스를 매개변수로 받아 유효성에 따라 입력을 처리합니다.

이처럼 제네릭 인터페이스를 사용하면 다양한 유형의 입력을 처리하는 함수를 한 번에 정의할 수 있어 코드의 재사용성과 일관성을 높일 수 있습니다.

마치며

제네릭 인터페이스를 활용하면 다양한 유형의 입력을 처리하는 함수를 보다 유연하게 정의할 수 있습니다. 이를 통해 타입스크립트 코드의 확장성과 유지보수성을 향상시킬 수 있습니다. 제네릭을 적절히 활용하여 코드를 작성하고, 다양한 입력 유형을 처리하는 함수를 구현해보시기 바랍니다.

타입스크립트 핸드북 - 제네릭