더북(TheBook)

그림 13-2에서 factorial(3)은 블로킹 상태입니다. 현재 실행 중인 함수는 factorial(2)입니다. 이 함수의 인자 n은 2입니다. #1을 건너뛰고 #2에서 factorial(1)을 호출합니다.

276

그림 13-2 재귀 함수 스택 프레임 ②


그림 13-3에서 factorial(2)도 블로킹 상태입니다. 현재 실행 중인 함수는 factorial(1)인데 인자 n1이므로 #1이 실행되어 1을 반환하면서 함수가 종료됩니다.

276_2

그림 13-3 재귀 함수 스택 프레임 ③


그림 13-4에서 factorial(1)이 종료되면서 1을 반환하고 다시 factorial(2)가 실행됩니다. 이전에 #2에서 블로킹되었으므로 #2부터 실행됩니다. 반환 값 1n2를 곱해 결과 값으로 2를 반환하면서 함수 factorial(2)도 종료됩니다.

276_3

그림 13-4 재귀 함수 스택 프레임 ④

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.