재귀 메서드 (Recursive Method)
재귀 구조를 가진 메서드이다.
즉 메서드 구현부에서 자기 자신을 호출하는 메서드
파일 디렉토리 구조와 트리 구조에서 많이 사용함
예제 ) 팩토리얼 메서드를 구현하시오
public static void main(String[] args) {
int n = 4;
int result = factorial(n); //factorial 블럭 후 F3 누르면 선언된 위치로 이동
printFactorial(n, result);
} //main
public static int factorial(int n) {
return (n == 1) ? 1 : n * factorial(n-1);
}
public static void printFactorial(int n, int result) {
System.out.printf("%d! = %d\n",n, result);
}
n=4를 factorial 메서드에 넣어 4 == 1 이 아니므로 밑에 factorial n-1 자기 자신을 계속 호출 및 리턴을 하여
4 * 3 * 2 까지 만들고 1일때 1 반환하므로 총
4 * 3 * 2 * 1 = 24라는 값을 result에 삽입하고
그 값을 최종 printFactorial 이라는 메서드에서 출력하게 된다
'java' 카테고리의 다른 글
자바의 if(조건문) (0) | 2024.01.21 |
---|---|
자바의 Calendar 클래스 (DateTime) (0) | 2024.01.21 |
메서드 오버로딩(Method Overloading) (2) | 2024.01.21 |
자바의 메서드(Method) (0) | 2024.01.21 |
자바의 연산자(Operator)-2 (0) | 2024.01.18 |