1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
package 함수3.자가진단01;
 
import java.util.Scanner;
 
public class Main {
 
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int num=0;
        num = sc.nextInt();
        recursive(num);
        sc.close();
}
    public static void recursive(int num) {    
        if(num ==0) {
            return;
        }
        else {
            System.out.println("recursive");
            recursive(num - 1);            
        }
    }
}
 
 

 

> recursive라는 함수안에서 recursive() 를 호출하게 되면 

무한루프에 빠지게 됩니다.

 

조건문을 사용하여 recursive를 출력할때마다 매개변수에 num -1 을 대입을 하게되면 num값이 1씩 줄어들어 

if(num == 0) 조건문에 들어가게 되고 return을 통하여 함수를 종료하게 됩니다.