[typescript] 함수 오버로딩을 사용하여 다양한 타입의 매개변수를 처리하는 방법

TypeScript는 함수 오버로딩을 사용하여 다양한 타입의 매개변수를 처리할 수 있습니다. 함수 오버로딩은 함수가 여러 가지 형태의 매개변수를 받을 수 있도록 하는 기능입니다.

함수 오버로딩이란?

함수 오버로딩은 동일한 함수 이름을 가지면서 매개변수의 타입 또는 개수가 다른 여러 개의 시그니처를 갖는 것을 의미합니다. 함수가 호출될 때 TypeScript 컴파일러는 전달된 매개변수에 맞는 시그니처를 찾아 해당하는 함수 구현을 실행합니다.

함수 오버로딩 예제

아래 예제는 add 함수를 number 타입과 string 타입의 매개변수에 대해 오버로딩하는 방법을 보여줍니다.

function add(x: number, y: number): number;
function add(x: string, y: string): string;
function add(x: any, y: any): any {
    return x + y;
}

위 코드에서 첫 번째와 두 번째 함수 선언은 각각 numberstring 타입의 매개변수를 받습니다. 마지막 함수 구현은 any 타입을 받아들이고, 실제로 매개변수를 조합하여 반환값을 돌려줍니다.

함수 오버로딩의 장점

함수 오버로딩을 사용하면 동일한 기능을 가진 함수에 대해 다양한 타입의 매개변수를 받을 수 있습니다. 이를 통해 코드의 가독성을 향상시킬 수 있고, 타입에 대한 엄격한 체크를 유지하면서 유연성을 확보할 수 있습니다.

함수 오버로딩은 TypeScript에서 다형성과 유연한 타입 처리를 위한 강력한 도구 중 하나입니다. TypeScript를 사용하면서 함수 오버로딩을 적극적으로 활용해보세요!

더 자세한 내용은 TypeScript 공식 문서를 참고하시기 바랍니다. TypeScript Handbook - 함수 오버로딩