default checklist

기본 매개변수는 호출을 짧게 만들지만 선언을 더 엄격하게 만든다

기본값을 붙이기 전에는 배치, 선언 위치, 오버로드 충돌, API 의미를 함께 점검해야 합니다.

오른쪽부터 배치

필수 인자는 왼쪽, 기본값 있는 인자는 오른쪽에 둡니다.

호출 빈도 확인

대부분 같은 값을 쓰는 선택 인자에만 기본값을 둡니다.

원형 한 곳에 선언

헤더의 함수 원형에 기본값을 두고 정의에는 반복하지 않습니다.

기본값도 API

기본값 변경은 호출 결과를 바꾸므로 공개 인터페이스로 봅니다.

오버로드 겹침 금지

기본값 때문에 같은 호출 형태가 둘 이상 생기면 모호합니다.

숨은 동작 금지

생략된 값이 독자가 예상하기 어려우면 직접 인자를 받는 편이 낫습니다.

핵심: 기본 매개변수는 오버로드를 줄이는 도구이지만, 호출 하나가 함수 하나로 분명히 좁혀져야 안전합니다.