- 함수 안에 자신의 함수를 다시 호출하는 함수
- 자신의 로직을 내부적으로 반복하다가, 일정한 조건이 만족되면 함수를 이탈하여 결과를 도출
public static int recursiveFunction(int input) { // 기본 조건: 입력이 일정 값 이하일 때 if (input <= 5) { // 재귀 호출 종료: 일정 값, 입력 값, 또는 특정 값 반환 return input; // 입력 값 그대로 반환 } else { // 재귀 호출: 입력보다 작은 값으로 함수 호출 return recursiveFunction(input - 1); } }
팩토리얼 구현하기
public static int recursiveFunction(int n) { if (n == 1) { return n; } else { return n*(recursiveFunction(n - 1)); }
재귀 함수에서 return 문을 사용하면 현재 함수의 실행을 종료하고 호출한 곳으로 돌아간다 이 때, 재귀 호출 스택에서 해당 호출의 상태가 제거된다