[typescript] 함수 오버로드의 문법은 어떻게 작성되나요?

함수 오버로드를 작성하려면 함수 시그니처를 중복해서 작성하고, 마지막에 구현을 추가하면 됩니다. 아래는 예시입니다.

function processInput(x: string): void;
function processInput(x: number, y: number): void;
function processInput(x: string | number, y?: number): void {
    // 함수 구현
}

이 예시에서 processInput 함수는 문자열 1개 또는 숫자 2개를 받아들이는 두 가지 형태의 시그니처를 가지고 있습니다.

함수 오버로드를 선언할 때는 시그니처만을 작성하고, 실제 구현에는 오버로드 선언 부분과 상응하는 시그니처에 맞는 매개변수를 받도록 작성해야 합니다.

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