개발자 블로그
재귀함수와 스택 메모리 본문
함수가 호출되어 저장되어 사용되는 곳이 스택 메모리 영역이다. 재귀함수는 함수가 호출 되면서 함수 자기 자신을 또 다시 호출하는 방식으로 재귀함수 호출 시 스택 메모리에 호출 된 함수들이 계속 쌓이게 된다.
스택은 LIFO(선입선출) 구조이기 때문에 가장 마지막에 호출된 함수 factorial(1)를 먼저 완료하고, 값을 아래로 전달하여 최초로 호출된 함수 factorial(3)가 최종 값을 계산한다.

따라서, 재귀함수를 호출할 때 스택 메모리 공간이 초과되는 스택 오버플로우가 발생되는 오류를 주의하며, 과도한 스택 메모리가 사용되지 않도록 조심하며 사용해야한다.
'파이썬 > 알쓸신잡' 카테고리의 다른 글
함수에서 디폴트 파라미터 사용 시 주의사항 (0) | 2022.08.16 |
---|---|
파이썬 메모리 구조 (0) | 2022.06.28 |
Variable Scope (0) | 2022.06.27 |
object(객체)의 attribute(속성 값)의 접근 가능한 함수 (0) | 2022.06.21 |
eval() 메소드 (0) | 2022.06.08 |