그림 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 재귀 함수 스택 프레임 ④

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