재귀함수란 함수가 자기 자신을 호출하는 것을 의미한다.
주로 프로그래밍에서 사용되며, 특히 문제를 해결하기 위해 동일한 작업을 반복해야 할 때 유용하다.
재귀 함수는 일반적으로 두 가지 부분으로 구성된다.
재귀 함수는 반복적인 작업을 수행할 때 일반적으로 루프 구조보다 간결하게 코드를 작성할 수 있는 장점이 있다.
그러나 재귀 함수를 사용할 때는 종료 조건을 확실히 설정해야 하며, 그렇지 않으면 무한 루프에 빠질 수 있다.
또한, 재귀 함수는 호출할 때마다 스택에 추가되기 때문에 깊은 재귀 호출이 발생할 경우 스택 오버플로우가 발생할 수 있다.
def factorial(n):
// 기본 사례: n이 0이거나 1인 경우
if n == 0 or n == 1:
return 1
// 재귀 사례: n이 양의 정수인 경우
else:
return n * factorial(n-1)
// 팩토리얼 계산 예시
print(factorial(5)) # 출력 결과는 5! = 5 * 4 * 3 * 2 * 1 = 120