재귀호출(Recursive call)
은 메소드의 내부에서 메소드가 자기 자신을 다시 호출하는 것을 말합니다.
재귀호출을 이용하는 유명한 문제로는 팩토리얼이 있습니다.
public class Factorial {
public static void main(String[] args) {
System.out.println(getFactorial(5));
}
static long getFactorial(int n) {
long result = 0;
if (n == 1) {
result = 1;
}
else {
result = n * getFactorial(n - 1);
}
return result;
}
}
팩토리얼을 구하는 메소드인 getFactorial
이 n이 1이 될 때까지 자기자신을 계속 호출해 반복하면서 팩토리얼을 계산합니다.