원형 선언은 “나중에 정의될 함수의 계약서”다
컴파일러가 위에서 아래로 읽기 때문에, 호출 전에 함수 모양을 먼저 알려주면 정의가 뒤에 있어도 호출할 수 있습니다.
먼저 읽힘
원형 선언
int multiply(int x, int y);
호출 지점
main에서 호출
int result = multiply(10, 3);
나중에 연결
함수 정의
int multiply(int x, int y) {
return x * y;
}
원형이 없으면
호출문을 만났을 때 반환 타입과 매개변수를 몰라 컴파일 오류가 납니다.
원형이 있으면
함수의 이름, 반환 타입, 인자 타입을 먼저 확인하고 정의는 뒤에서 찾습니다.
핵심: 원형은 실행 코드가 아니라 호출 가능 여부를 판단하게 해 주는 타입 계약입니다.