인라인 함수는 호출을 본문 코드로 펼쳐 보려는 최적화 힌트다

작고 자주 호출되는 함수는 호출 비용이 실제 계산보다 커질 수 있어, 컴파일러가 호출 지점에 코드를 직접 넣을지 판단합니다.

일반 호출

int r = square(x);

함수 주소로 점프하고 매개변수 준비와 복귀 과정을 거칩니다.

인라인 시도

int r = x * x;

컴파일러가 적합하다고 보면 호출 자리에 본문을 펼쳐 넣습니다.

얻는 것함수 호출 오버헤드 감소
잃을 수 있는 것호출 지점마다 복사되어 코드 크기 증가
결정 주체inline 키워드가 아니라 컴파일러 최적화
핵심: inline은 강제가 아니라 “이 함수는 펼쳐도 좋을 수 있다”는 제안입니다.