티스토리 뷰

Language/JAVA

java 재귀 호출, 재귀 함수

KyeongRok Kim 2018. 4. 5. 14:19
java 재귀 호출, 재귀 함수
 
재귀함수란?
자기 자신을 특정 조건이 될 때까지 계속 호출하는 함수이다.
그래서 함수 안에 if조건문이 들어가 있고 끝나는 조건이 파라메터로 들어간다.
그리고 return에서 자기 자신을 호출한다.

 

1.return 값이 있을 때
package examples;

public class RecursiveExam {

    private int count(int idx) {
        System.out.println("idx:"+idx);
        if(idx == 0) return 0;
        return count(idx -1);
    }

    public void run() {
        int result = count(10);
        System.out.println("result:"+result);
    }

    public static void main(String[] args) {
        new RecursiveExam().run();
    }
}​

결과

idx:10

idx:9

idx:8

idx:7

idx:6

idx:5

idx:4

idx:3

idx:2

idx:1

idx:0

result:0

 

위와 같이 result는 0인데 특정 조건이 될 때 까지 print문이 계속 실행된 것을 볼 수 있다.

print문이 계속 실행 되었다는 것을 해당 method가 계속 호출이 되었다는 뜻이다.

 

2.void일 때

package recursives;

public class RecursiveVoidExam {

    private void targetRecursive(int idx){
        System.out.println("idx:"+idx);
        if(idx < 100){
            targetRecursive(idx + 10);
        }
    }

    private void run() {
        targetRecursive(0);
    }

    public static void main(String[] args) {
        new RecursiveVoidExam().run();

    }
}
 

결과

idx:0

idx:10

idx:20

idx:30

idx:40

idx:50

idx:60

idx:70

idx:80

idx:90

idx:100

 

void라도 종료 조건을 넣고 자기 자신을 호출 할 수 있다.

 

end.

 

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함