본문 바로가기

Studies/C++ Espresso

[Review] Chapter 01. p.06 - 객체지향방법 (Object-oriented approach)의 목적

   객체 지향 방법의 최대 목표는 코드의 재사용(reuse)이다. (p.7)
 


●  객체지향의 최대 목표가 코드의 재사용일까? 실제 작업에서는 그 이점을 크게 느끼기는 어렵다. 다른 사람이 만든 코드를 라이브러리로 제공하는 것은 꼭 객체지향방법론에만 적용되는 것은 아니다. jQuery와 같이 JavaScript 같은 언어에서도 라이브러리로 함수 Set을 제공한다. 

  특히, Virtual 및 Interface를 이용한 추상함수의 경우, 함수 상속자가 각각의 함수를 재구현해야 한다. 경험한 바에 따르면, Class를 상속한다고 해서 작업량이 늘 줄어드는 것은 아니다. 

●  객체지향의 가장 큰 장점은, 오히려 각각의 객체간의 완전한 분리를 통한 수정 용이성이 아닐까? 전역변수를 철저하게 배재하고 깔끔하게 독립적으로 돌아가도록 잘 구현한 클래스는 나중에 수정이나 확장할 때도 큰 고민 없이 작업을 시작할 수 있다. 함수의 Overriding, Overloading 기능은 기존 코드를 Side effect 우려 없이 수정할 수 있도록 지원한다. C로 만든 범용 함수를 확장(ex. 함수 인자를 추가 하는 경우)하는 경우와 비교하면 이것은 정말 큰 이점이다.