public class test {
public static void recursion(){
System.out.println("Recurion Test");
System.out.println(3);
System.out.println(2);
System.out.println(1);
recursion();
}
public static void main(String[] args){
recursion();
}
}
정의에 따라 작성된 코드는 위 사진과 같이 "Recursion Test"부터 3,2,1 까지 끊임없이 실행될 것이다. 이처럼 함수 내에서 자신이 호출되는 함수를 재귀 함수라 한다.
재귀 함수를 사용하기 위해서는 문제 축소
와 종료 시점
의 조건이 있어야 하는데 이는 문제를 축소하며 자신을 부르는 재귀의 특성과 종료 시점이 없다면 끝나지 않는 소위 무한루프를 돌 수 있다는 특징이 있기 때문이다.