어떤 기능을 반복적으로 실행시키고자 할 때, 반복문과 재귀함수라는 두 가지 선택지가 있다
각각이 어떤 장.단점을 가지는지에 대해 생각해보았다
장점
for
나 while
을 선언하고 break
구현을 위해 flag를 둔다던가하는 추가적인 처리없이 함수를 단지 재사용함으로써 구현할 수 있으므로 상대적으로 간결한 코드로 구현할 수 있다고 생각했다단점
메모리 부담이 있다
메모리 해제가 늦기에(처음 실행된 함수가 마지막 함수 종료 시점에서야 같이 종료되므로) 경우에 따라 컴퓨터에 부담을 줄 수 있다.
가독성이 낮다
가독성 측면에서 반복성을 가졌는지 쉽게 파악하기 어렵다
장점
가독성이 좋다
코드가 반복성을 가졌는지 쉽게 파악할 수 있다 (for
나 while
같은 키워드가 바로 보이므로)
메모리 부담이 적다
메모리 해제가 빠르다 (한 루프가 끝나면서 함수가 종료(=메모리 해제)된 후에 다음 루프를 수행하므로)
단점
for
혹은 while
같은 반복문 구문이 필요하고, 그 외 추가적인 변수가 필요한 경우도 많아서 코드 구현이 상대적으로 복잡해진다