절차적인 코드는 기존 자료 구조를 변경하지 않으면서 새 함수를 추가하기 쉽다. 반면, 객체 지향 코드는 기존 함수를 변경하지 않으면서 새 클래스를 추가하기 쉽다.(122p)
시스템을 구현할 때, 새로운 자료 타입을 추가하는 유연성이 필요하면 객체가 더 적합하다. 다른 경우로 새로운 동작을 추가하는 유연성이 필요하면 자료 구조와 절차적인 코드가 더 적합하다. 우수한 소프트웨어 개발자는 편견없이 이 사실을 이해해 직면한 문제에 최적인 해결책을 선택한다. (128p)
고민없이 이전에 해왔던 그대로 접근제한자를 설정하거나 추상화를 해왔던 방식이 정말로 의도에 맞게 구현한 것인가를 되돌아보게 되었다.
객체지향과 절차지향코드를 적절하게 선택하여 잡종 구조가 되지 않게 노력해야겠다.