재귀함수

유신형·2024년 3월 12일

자바

목록 보기
4/22

재귀함수란 함수가 자기 자신을 호출하는 것을 의미한다.
주로 프로그래밍에서 사용되며, 특히 문제를 해결하기 위해 동일한 작업을 반복해야 할 때 유용하다.

재귀 함수는 일반적으로 두 가지 부분으로 구성된다.

  • Base Case (기본 사례): 재귀 호출을 멈추는 조건이다. 함수가 자기 자신을 반복 호출하지 않고 종료하는 지점이다.
  • Recursive Case (재귀 사례): 함수가 자기 자신을 호출하여 작업을 수행하는 부분이다. 이것은 종료 조건을 충족할 때까지 반복된다.

재귀 함수는 반복적인 작업을 수행할 때 일반적으로 루프 구조보다 간결하게 코드를 작성할 수 있는 장점이 있다.
그러나 재귀 함수를 사용할 때는 종료 조건을 확실히 설정해야 하며, 그렇지 않으면 무한 루프에 빠질 수 있다.
또한, 재귀 함수는 호출할 때마다 스택에 추가되기 때문에 깊은 재귀 호출이 발생할 경우 스택 오버플로우가 발생할 수 있다.


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 

0개의 댓글