[typescript] 오버로드된 함수는 어떻게 호출되나요?

예를 들어, 아래와 같이 sum 함수를 오버로드할 수 있습니다.

function sum(a: number, b: number): number;
function sum(a: string, b: string): string;
function sum(a: any, b: any): any {
  return a + b;
}

sum 함수는 숫자 또는 문자열에 따라 다르게 동작합니다. 정확한 시그니처에 따라 호출하려면 TypeScript는 오버로드된 함수의 시그니처를 확인합니다.

예를 들어,

const result1 = sum(1, 2); // 숫자 시그니처가 호출됩니다.
const result2 = sum('hello', 'world'); // 문자열 시그니처가 호출됩니다.

이를 통해 TypeScript는 호출된 시그니처에 맞는 오버로드된 함수를 자동으로 선택하여 호출합니다.