이번에 조건식 계산 구현은 재귀적 호출로, if문은 KNOOL님이 말씀해주신 스택 방법으로 했습니다.
그런데 의문이 들더라구요.. 어떤 의문이냐면..
알바하는데 계신 분이 if문도 재귀적 호출로 가능할 거 같은데 왜 스택으로 하셨어요? 그러는거 있죠;;
생각해보니 가능하겠더라구요. 어차피 재귀적 호출은 운영체제가 스택을 관리해주니까 제가 직접 스택으로
구현하는 거랑 개념적으로는 같을거라고 봅니다. 그런데요.. 제 생각에 재귀적 호출은 코딩 상으로는 깔끔해보이겠지만
시스템적인 입장에서 보면 부담스러우리라 생각되거든요.. 근데 알바하는데 계신분은 나중에 확장성과 유지보수성까지
생각하면 어느게 더 괜찮은지 생각해봐주시오.. 라고 그러네요. 즉 if문 안에서 반복문이 들어간다던가.. 이런 경우요..
여러분의 생각을 듣고 싶습니다.. 재귀적 호출에 대한 다른 어떤 지식이라도 공유해주세요~^^
그런데 일단 Fucntion Call 자체가 OS의 입장에서 봤을떄는 생각보다 무거운 작업이고 이를 위해서 C나 C++에서는 inline을 이용하여 Optimizing을 하게되고 이때 이용하는 Stack을 최소하하는 방법도 사용되고 있습니다.
제가 보기에 매우 특이한 상황이나 심각한 Optimizing이 필요한 상황이 아니라면 그냥 Function Call로 작성하시는 것이 편합니다. STL을 활용한다 하더라도 Stack을 사용하기 위해서는 보존이 필요한 부분의 Structure를 구성해 주어야하고 이로 인해서 변경되는 부분을 쉽게 알지 못하면 유지보수가 힘들 수 있습니다.
반대로 재귀호출에 대한 개념이 익숙하지 못하면 다른 분들이 이해하지 못하는 경우도 생길 수 있으니 주의하셔야할 것 같습니다.