재귀 재귀(Recursion)는 함수가 자기 자신을 호출하는 것을 말한다. 재귀의 구조는 재귀를 중단시키는 기저 조건(Base Case)과 기저 조건으로 수렴하게 되는 재귀 조건(Recursive Case)으로 구성된다. 재귀를 사용하는 이유는 문제에 따라 전체를 한 번에 해결하기보다 같은 유형의 하위 작업으로 분할하여 작은 문제부터 해결하는 방법이 효율적*일 수 있기 때문이다. 다시 말해 복잡한 알고리즘을 단순하고 알기 쉽게 표현할 수 있다. 그뿐만 아니라 알고리즘 자체만으로는 얼마나 많은 단계를 깊이 들어가야 하는지 알 수 없을 때에도 사용할 수 있다. *이를 분할 정복법(Divide & Conquer)이라고 한다. 예시를 살펴보자. 어떤 디렉토리가 갖고 있는 모든 파일 및 디렉토리를 지우는 함수를 ..