call flow

호출은 값을 넘기고, 반환값은 호출한 자리로 돌아온다

함수 호출식은 독립된 실행 흐름처럼 보이지만, 결과는 결국 호출문이 있던 위치에 놓입니다.

int result = addNumbers(a, b);
int addNumbers(int num1, int num2)
01 인자 평가

a, b의 현재 값을 읽어 호출 준비를 끝냅니다.

02 매개변수 복사

값이 num1, num2에 전달되어 함수 안 이름으로 쓰입니다.

03 본문 실행

함수 몸체에서 계산을 수행하고 반환할 값을 만듭니다.

04 호출 지점 복귀

return 값이 호출식의 결과가 되어 result에 저장됩니다.

호출자가 보는 것함수 이름과 인자 목록, 그리고 반환값
함수 안에서 보는 것매개변수 이름과 본문 코드, 그리고 return