단순히 중첩문을 반복하는 것에 비해 코드 수정이 용이해서 재활용 가능성이 높다.
재귀 함수의 종료를 위해 기저 사례를 선택해야한다. 재귀 함수가 가장 깊숙한 곳으로 들어간 경우, 재귀 함수의 목적을 달성한 경우, 반드시 지켜야 하는 특정 조건을 위배한 경우 더 이상 함수가 호출될 필요가 없기 때문에 함수가 반환되도록 해주는 것이다.
재귀 함수의 구현을 위해 어떤 입력 집합, 즉 재귀 함수에 어떤 입력이 들어가야 하는 지를 판단해야 한다.
일반적으로 모든 재귀함수들이 공유해야 하는 전체 수행 회수를 나타내는 변수와 각 재귀함수들의 현재 상태를 나타내는 변수를 입력 집합으로 받는다.
재귀 호출은 하나의 문제를 여러 조각으로 나누는 데서 출발한다. 이 때 문제의 한 조각을 해결한 후 나머지 조각을 해결할 때, 원래 문제와 같은 형식의 문제가 반복될 경우 재귀 호출로 접근한다.