어떤 사건이 자기 자신을 포함하고 있거나 또는 자기 자신을 사용하여 정의하고 있을 때 이를 재귀적(recursive)이라고 합니다
- 1은 자연수입니다.
- 자연수 n의 바로 다음 정수도 자연수입니다.
class Factorial{
static int factorial(int n){
if(n > 0)
return n * factorial(n - 1);
else
return 1;
}
public static void main(String[] args){
Scanner stdIn = new Scanner(System.in);
int x = stdIn.nextInt();
System.out.println(factorial(x));
}
}
return (n > 0) ? n * factorial(n - 1) : 1;
두 정수의 최대공약수를 재귀적으로 구하는 방법
class EuclidGCDP
static int gcd(int x, int y){
if(y == 0)
return x;
else
return gcd(y, x % y);
}
public static void main(String[] args){
Scanner stdIn = new Scanner(System.in);
int x = stdIn.nextInt();
int y = stdIn.nextInt();
System.out.println(gcd(x, y)
}
}
recur(4)
① recur(3)을 실행
② 4를 출력
③ recur(2)를 실행

recur(1)
① recur(0)을 실행
② 1를 출력
③ recur(-1)를 실행
