본문 바로가기

객체 지향2

객체지향의 사실과 오해 (1) 1. 객체 지향은 실세계의 모델링? 객체지향에 대해서 "객체지향이란 실세계를 직접적이고 직관적으로 모델링할 수 있는 패러다임" 이라고 설명하는 책을 흔히 볼 수 있다. 이런 설명에 따르면 객체지향 소프트웨어는 실세계의 어떤 사물을 소프트웨어 내부로 모방해오는 실세계의 투영이며 객체는 실세계의 사물에 대한 추상화라는 의미이다. 이러한 설명은 이해에는 도움이 될 수 있으나 유연하고 실용적인 관점에서 객체지향 분석, 설계를 설명하기에는 적합하지 않다. 실제 어플리케이션의 소프트웨어에서 실세계의 사물과 대응되는 객체를 발견할 확률은 그다지 높지 않기 때문이다. 그럼에도 많은 책에서 이렇게 객체를 실세계의 사물에 대한 추상화라고 언급하는 데에는 이유가 있다. 2. 왜 실세계의 모델링이라고 설명할까? 객체지향 어플.. 2023. 1. 17.
객체지향의 사실과 오해 (0) 지금까지 JAVA 를 공부해오면서 객체지향에 대해서 그저 "객체를 class 로 만들어 사용하는 것" 정도로 생각했다. "객체지향" 이라는 패러다임의 중요성에 대해서 정확하게 인지하지 못했고 당연하게도 객체 지향에 입각한 사고도 훌륭하게 해내지 못했다. 하지만 이런 문제들을 혼자 공부하면서는 인지하지조차 못했다. 객체지향의 본질이 무엇인지와 같은 원론적인 접근 보다는 DB 설계를 잘하는 법, JPA 를 사용하는 방법 등 그저 지금 상황에서 내가 효율적으로 개발하기 위한 공부를 해왔다. 하지만 우테코를 준비하면서 "객체지향적" 이라는 키워드에 관심을 가지고 객체 하나하나에 집중을 하게 되었고 이는 결국 "객체지향" 이라는 패러다임의 원론적인 접근을 요했다. 그래서 검색을 통해 이 책을 접했고 읽게 되었다... 2023. 1. 17.