카테고리 없음

[Book]객체지향의 사실과 오해_01

뱅타 2022. 3. 20. 15:31

추천 도서에 존재하는 책들을 하나씩 읽고 있습니다.

출근 시간이 약 1시간 정도 되기에 처음에는 인터넷 강의를 매일 들었는데...

제가 무제한이 아니라ㅠ 힘들더군요!! 그래서 손을 놓고 있었던 책을 읽기로 했습니다!

지인분이 선물해주신 함께자리기(애자일로가는길)를 시작으로 추천 도서 리스트에 있는 책들을 모두 읽으려고 합니다. 그리고 읽는 도중 중간중간 느낀 점들, 의문점들 등을 독후감 식으로 작성을 할까 합니다.

지극히 주관적인 관점이고 생각이니 만약 저와 다른 의견을 가지고 계시다면 언제든지 답글 남겨 주시길 바랍니다.

은유와 객체(p.66)

두번째 도시전설

"객체지향이란 현실 세계의 모방"에 관하여 글을 작성한 부분이 있습니다.

작가님(조영호님)은 책은 아직 다 일지 못했습니다 ㅠㅠ...

"안타깝게도 객체지향 세계는 현실 세계의 단순한 모방이 아니다. 소프트웨어 안에 구현된 상품 객체는 실제 세계의 상품과는 전혀 다른 양상을 띤다. 소프트웨어 상품은 실제 세계의 상품이 하지 못하는 가격 계산과 같은 행동을 스스로 수행할 수 있다."

고 작성을 해 주셨습니다. 제가 객체의 개념을 제대로 이해를 못해서 그런지 해당 글에 대해 의문이 들더군요.

소프트웨어 상품은 하나의 객체로 존재할 수 있는것은 맞지만 해당 상품이 능동적으로 가격 계산을 할 수 있다는 경우라면 어떤 경우일까 라는 생각이 들었습니다. 그래서 그에 대핸 예시를 한번 구상해 보았습니다.(맞는지 아닌지 확신은 힘드네요!!)

소프트웨어 상품을 클래스 Product, 가격계산을 메서드 calculatePrice()라 했을 경우는(상품 객체 내부에 계산 메서드가 존재할 경우) 상품이 스스로 가격 계산과 같은 행동을 스스로 합니다!

가격계산(calculatePrice())을 다른 객체(주문(Order), 계산(Calculator) 등과 같은 클래스)에서 상태가 변할 시 행동하게끔 한다면 상품이 스스로 가격 계산을 행하진 않겠군요!

상품 스스로 가격 계산을 할 수도, 다른 객체가 대신 할 수도 있기 때문에 단순히 실 세계의 모방이 아니라고 말한 것 같습니다.

개발자의 기본 서적이라고 하는데 저는 생각보다 이 객체지향의 사실과 오해라는 책이 어렵게 느껴지네요!!

의문점이나 이해가 가지 않는 부분이 더 생긴다면 글을 작성하면서 조금씩 정리해 보아야 겠습니다.

728x90
반응형