그림 13-2에서 factorial(3)은 블로킹 상태입니다. 현재 실행 중인 함수는 factorial(2)입니다. 이 함수의 인자 n은 2입니다. #1을 건너뛰고 #2에서 factorial(1)을 호출합니다.
그림 13-2 재귀 함수 스택 프레임 ②
그림 13-3에서 factorial(2)도 블로킹 상태입니다. 현재 실행 중인 함수는 factorial(1)인데 인자 n이 1이므로 #1이 실행되어 1을 반환하면서 함수가 종료됩니다.
그림 13-3 재귀 함수 스택 프레임 ③
그림 13-4에서 factorial(1)이 종료되면서 1을 반환하고 다시 factorial(2)가 실행됩니다. 이전에 #2에서 블로킹되었으므로 #2부터 실행됩니다. 반환 값 1과 n 값 2를 곱해 결과 값으로 2를 반환하면서 함수 factorial(2)도 종료됩니다.
그림 13-4 재귀 함수 스택 프레임 ④