C 언어
이 튜토리얼에서는 C++ 재귀 함수를 탐구하고, 어떻게 동작하는지 이해하며, 실전 예제를 통해 활용법을 배웁니다.
자기 자신을 호출하는 함수를 재귀 함수(Recursive Function)라 합니다. 이 강력한 기법을 재귀(Recursion)라고 부릅니다.
void recurse()
{
// 재귀 전 코드
recurse(); // 재귀 호출
// 재귀 후 코드
}
int main()
{
// 설정 코드
recurse();
// 정리 코드
}
아래 그림은 재귀의 반복적 자기 호출 특성을 보여줍니다.

재귀는 **기저 조건(Base Condition)**이 만족될 때까지 계속됩니다.
무한 재귀를 막으려면 조건문(예: if…else)으로 재귀 호출을 수행할 분기 하나만 두어야 합니다.
// n! = 1 × 2 × … × n 계산
#include <iostream>
using namespace std;
int factorial(int);
int main()
{
int n, result;
cout << "Enter a non-negative number: ";
cin >> n;
result = factorial(n);
cout << "Factorial of " << n << " = " << result;
return 0;
}
int factorial(int n)
{
if (n > 1)
return n * factorial(n - 1);
else
return 1;
}
실행 결과
Enter a non-negative number: 4 Factorial of 4 = 24

factorial() 함수는 자기 자신을 반복 호출하며 매번 n을 1씩 줄입니다. n이 1 이하로 떨어지면 1을 반환하고, 재귀가 풀리면서 최종 결과가 계산됩니다.
재귀의 주요 장점과 단점:
재귀를 언제, 어떻게 쓸지 이해하면 일반적인 함정을 피하면서 더 깔끔하고 유지보수하기 좋은 C++ 코드를 작성할 수 있습니다.
C 언어
파이썬 재귀 마스터하기 파이썬 함수가 스스로를 호출하는 재귀의 메커니즘과 안전하고 효율적인 재귀 코드 작성 모범 사례를 알아봅니다. 재귀란? 재귀는 문제를 동일한 문제의 더 작은 인스턴스로 정의하는 기법입니다. 서로 마주 보는 두 평행 거울의 고전적 예시: 각 이미지는 다른 이미지의 재귀적 반사입니다. 파이썬 재귀 함수 파이썬에서 함수는 다른 함수를 호출할 수 있고, 자기 자신도 호출할 수 있습니다. 이런 구조를 재귀 함수라 합니다. 아래 이미지는 recurse라는 간단한 재귀 함수의 호출 스택을 보여줍니다: 고전적 예제: 양의
Java 재귀 이 가이드는 Java 재귀 메서드를 설명하고, 고전적인 팩토리얼 예제를 통해 동작을 살펴보며 재귀 사용의 장단점을 평가합니다. Java에서 자기 자신을 호출하는 메서드를 재귀 메서드라 하며, 이 기법을 재귀라고 합니다. 간단한 실생활 예로는 두 거울이 마주 보는 경우가 있습니다: 각 반영은 또 다른 거울 상이 되어 빛이 흡수될 때까지 반복됩니다. 재귀 동작 원리 위 그림에서 recurse() 메서드는 main()에서 호출됩니다(일반 호출). recurse() 내부에서 같은 메서드가 자신을 다시 호출하여 재귀 호출을