재귀 메서드 (Recursive Method)

재귀 메서드 (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