재귀함수란 유사한 하위 작업 형태로 정의할 수 있는 작업을 처리하는 데 유용하게 쓰인다.예를 들어 정렬이나 검색, 종주 문제에는 간단한 재귀적인 형태의 풀이가 있는 경우가 흔하다. 재귀적인 루틴에서는자기 자신을 호출하여 하위 작업을 처라하는 방식(=재귀 케이스)으로 작업의 일부분을 수행한다. 재귀 호출을 하다보면 자신을 호출하지 않고도 처리할 수 있는 하위 작업(=기본 케이스)이 나온다. 이렇게 루틴에서 자기 자신을 호출하는 것을 재귀 케이스라 말하고,자기 자신을 호출하지 않아도 되는 경우를 기본 케이스라고 부른다. 재귀 알고리즘에는 재귀 케이스와 기본 케이스, 이렇게 두 가지 케이스가 있다. 간단하고 널리 알려저 있는 예제인 팩토리얼 연산을 통해 이 개념을 확인해보자. // n이 1초과일 경우의 팩토..