Overload

함수 오버로딩 기준

이름은 같지만 매개변수 목록이 달라야 하며, 호출 시 컴파일러가 가장 알맞은 후보를 고릅니다.

오버로딩 성립 조건오버로딩은 같은 의도를 다른 입력 형태로 제공할 때 사용합니다. 반환 타입만 다른 경우와 모호한 변환은 피합니다.
함수 오버로딩 점검 항목오버로딩은 매개변수 목록으로 구분하고, 반환 타입만 다른 후보나 암시적 변환 모호성을 피합니다.
성립 조건

오버로드 구분 기준

반환 타입

반환 타입 오버로드 불가

모호성

오버로드 형 변환 충돌

오버로딩 적용print(int), print(double)처럼 같은 개념을 여러 타입에 적용합니다.
나쁜 신호이름은 같지만 실제 의미가 다르면 별도 이름이 더 낫습니다.
기본 인자기본 매개변수와 섞을 때 호출 모호성이 생기지 않는지 확인합니다.

호출 선택 오버로딩은 편의 기능이지만 API 약속입니다. 호출자가 같은 이름에서 같은 종류의 일을 기대할 수 있어야 합니다.