1
호출
입력 형태를 확정한다
process("abc")
인자의 타입과 개수로 후보 시그니처를 좁힌다.
호출부는 가장 구체적인 오버로드 시그니처로 결과 타입을 얻고, 런타임에는 모든 경우를 받는 구현 함수 하나만 실행된다.
process("abc")
인자의 타입과 개수로 후보 시그니처를 좁힌다.
(input: string): string
호출자는 선택된 선언의 반환 타입만 보게 된다.
input: string | number
구현 시그니처는 모든 공개 선언을 수용해야 한다.
typeof input === "string"
실제 값의 형태를 확인한 뒤 알맞은 로직을 실행한다.