수료생의 접근법에서 눈에 띄었던 점은 Stack 클래스를 따로 선언하여 이를 다시금 스택 계산기 클래스에서 사용했다는 점이었다. 이렇게 될 경우 맨 처음에는 ‘굳이 이렇게 하게 되면 나중에 로직을 살펴볼 때 오히려 계속해서 올라가면서 알아봐야 하기 때문에 힘들지 않을까?‘하는 생각이 있었는데, overflow와 같은 기능은 스택 메모리에서 발생하는 문제이지, 계산기에서 발생하는 문제가 아니라는 말에 큰 깨달음을 얻었다. 내가 생각하기에는 그저 계산기에 모든 기능이 들어가있으면 되겠다고 생각했지만, 수료생분은 그 계산기 안에서도 관리하는 스택과 레지스터 등의 역할을 확실히 잡아놓고 코드를 썼기 때문에 해당 기능에서 제공하는 에러인지, 자료구조의 기능인지를 명확하게 볼 수 있어 이러한 부분은 내가 간과했다고 생각하여 다시금 깨달음을 얻을 수 있었다.
깨달은 점을 바탕으로 내 코드 또한 어떤 것이 ‘스택’에서 제공해야 하는 오류이고, 어떤 것이 ‘스택 계산기’에서 제공해야 하는 에러인지 다시금 생각해보았다. 이미 정해진 스택의 사이즈를 벗어나지 않도록 뜨게 하는 empty 에러나 overflow 에러가 내가 설계한 스택 계산기에서 제공해야 하는 에러가 아닌 스택에서 제공해야 하는 에러임을 깨달았다. 이에 나 또한 기존에 배열로만 만들었었던 스택을 클래스로 따로 선언하여 해당 클래스에서 제공하는 에러가 될 수 있도록 설계를 재구성하였다.