[5장. 재귀 알고리즘] 1. 재귀의 기본 재귀란? 어떤 사건이 자기 자신을 포함하고 다시 자기 자신을 사용하여 정의될 때 재귀적이라 한다. 재귀를 효과적으로 사용하면 프로그램도 간결하게 표현할 수 있다. 팩토리얼 구하기 음이 아닌 정수의 팩토리얼을 구하는 방법은 재귀적으로 정의할 수 있다. TODO 재귀 호출 소스코드 직접 재귀(direct) : 자기 자신과 같은 메서드를 호출하면 직접 재귀이다. 간접 재귀(indirect) : 메서드 a가 메소드 b를 호출하고, 다시 메소드 b가 메소드a를 호출하는 구조이다. int factorial(int n) { if (n == 1) return 1; // 1을 반환하고 재귀호출을 끝냄 return n * factorial(n - 1); // n과 factoria..