반응형

재귀함수는 메소드 내에서 스스로를 반복적으로 호출하여 처리한다.
단, 무한으로 반복되는 형태가 아닌, 반복의 끝이 반드시 존재한다는 조건이 있어야 한다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
package chap08.Sample03;
 
public class sample6 {
    static int sum;
 
    public static int sum(int a) {
        sum += a;
        if (a == 0) {
            return sum;
        } else {
            a--;
            return sum(a);
        }
    }
 
    public static void main(String[] args) {
        // 메서드의 인자값 보다 적은 모든 정수의 합
        System.out.println(sum(10));
    }
}
cs

소스코드에서는 10을 인자로 넘겼으며 10을 sum이라는 멤버 변수에 값을 담고 인자값이 0이면 종료시키고 0이 아니면 값을 하나씩 감소시켜서 현재 실행중인 메소드를 0이 될때 까지 계속해서 호출함.

+ Recent posts