**Recursion(재귀)**은 함수가 같은 문제의 더 작은 버전을 풀기 위해 자기 자신을 호출하는 것입니다. 모든 재귀는 멈추게 하는 **base case(기저 사례)**와 base case를 향해 나아가는 **recursive case(재귀 사례)**가 필요합니다.
개념
문제를 더 작고 동일한 부분 문제로 분해합니다. 각 호출은 **call stack(호출 스택)**에 프레임을 쌓고, 반환은 그것을 꺼냅니다.
예시
python
def factorial(n):
n <= :
n * factorial(n - )
factorial()
