자기 자신을 호출하는 함수
문제의 크기를 점점 작은 단위로 쪼갤 수 있어야 한다
재귀 호출이 종료되는 시점이 존재해야 한다
public class RecursiveExample {
public static int calculateSum(int n) {
// 기본 케이스: n이 1 이하일 때 합은 그 자체이므로 n을 반환
if (n <= 1) {
return n;
} else {
// 재귀 케이스: n과 1부터 (n-1)까지의 합을 재귀적으로 계산
return n + calculateSum(n - 1);
}
}
public static void main(String[] args) {
int n = 5;
int sum = calculateSum(n);
System.out.println("1부터 " + n + "까지의 합은 " + sum + "입니다.");
}
}