더북(TheBook)

recurse() 함수를 호출하면 호출 스택에 recurse() 함수가 들어갑니다. recurse() 함수가 종료되어 호출 스택에서 나가기 전에 다른 recurse() 함수가 호출되어 호출 스택에 들어갑니다. 이전에 들어간 recurse() 함수가 빠져나가기 전에 그 위에 다시 recurse() 함수가 계속 쌓이니 순식간에 스택이 꽉 차게 됩니다. 이 상태에서 함수 하나를 더 넣으면 스택이 터지며 에러가 발생합니다.

그림3-13 재귀 함수 호출 시 호출 스택의 최대 크기 초과

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