자 제가 전에도 말했듯이, 재귀함수나 반복문이나 선언을 해서 반복을 하는 것은 같습니다. 그런데 반복문은 이런 단점이 있죠.
옛날에 제가 C언어를 배우면서 이런 곤란한 상황을 겪었습니다. 바로 너무 많은 반복문으로 인한 "메모리 초과"죠. 반복문을 너무 많이 사용해서 총 메모리가 67424KB(약 65MB정도 되는데요, 실제로는 적은 양 같지만 아주 많은 양입니다)나 쓰였어요. 이것을 해결할 수 있는 방법이 한 가지 있습니다. 바로 재귀함수라는 것이죠!
재귀함수는 복잡해 보이지만 실제로는 반복문보다 훨씬 더 많은 일들을 할 수 있습니다. 반복문에서 배운 유클리드 호제법을 더 쉽게 만들어줄 수 있는 게 재귀함수입니다. 또한 메모리를 줄일 수 있습니다. 실질적으로 보면 함수는 호출하면 실행하면 되니까 프로그램 자체의 메모리는 거의 들지 않는 다는 것이죠, 이런 것들이 재귀함수의 장점입니다. 재귀함수는 워낙 중요해서 활용편을 넣을 거니까 잘 봐주세요!