일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- Foundational
- authenticator
- 항해플러스백엔드
- 남궁성
- Java의정석
- 고객지원실
- 보안인증서
- AWS Certified Cloud Practitioner
- AWS
- 자바의정석
- 객체지향의사실과오해
- sqld
- 항해플러스
- 항해솔직후기
- kubernetes
- readony
- 항해99
- ARIadminer
- Wordpress
- java
- 도커
- saltkey
- 항해플러스후기
- 쿠버네티스
- docker
- SQL개발자
- 지하철분실
- AWS시험
- 지하철분실물
- Your session has been terminated
- Today
- Total
WorkaHolic
객체지향의 사실과 오해 본문
개발서적으로 유명한, 조영호님께서 집필하신 객체지향에 관련된 책이다.
솔직히 주위에서 다들 입에 한번쯤은 다들 올리길래
어떤 책인지 궁금하게 되어 호기심에 읽어본 게 계기가 되었다.
이상한 경험이었다.
글을 읽으면 재미있다. 나름 개발자 개그도 넣으시고
분명 재밌는데도 잘 읽히지 않는다.
문맥을 잘 썼음에도 불구하고 나의 어떤 문제인 건지
어떨 때는 한 문장을 10분 내내 읽은 적도 있다.
그러다보니 예상했던 것보다 너무 오래 시간이 소요됐다.
물론 다른 일을 하면서 시간이 날 때마다 읽으니
정확히 재보진 않았지만 적어도 한 두달 이상은 걸린 것 같다.
(워낙 책을 느리게 읽는 편인 걸 감안한다고 해도)
초반에서 중반까지 읽을 때만 해도, 이상한 나라의 앨리스로
비유하여 주신 것이 버틸 수 있는 보루였다.
솔직히 읽으면서도 반쯤은 이해가 가지만, 이렇게까지 역할, 책임, 협력을 강조해야 되는 일인가 싶었다.
그리고 그것은 메세지를 읽을 때쯤 서서히 알게 되더니
중후반이 되어서는 마무리를 위한 밑밥이었다는 것을 알게 되었다.
객체지향, 유스케이스, 인터페이스와 구현을 이해하기 위한 위대한 밑밥이었다.
이 책을 읽기 전에 개발을 하면서 든 생각이 있다.
"왜 이렇게 답답하게 개발을 하는 걸까?"
"왜 이렇게 복잡하게 개발을 하는 걸까?"
였다. 물론 스프링부트를 쓰고, 이전 레거시를 읽고, 다른 사람의 코드를 보다보니
자연스레 MVC패턴을 사용하고, 레이어드 아키텍쳐를 맞추긴 하는데
왜 이렇게 개발을 해야 하는 걸까?
단순히 지금까지 배운 것에 의하면
객체지향은 현실의 복제품이고
복제품이 맞춰, 개발을 주어진 환경에 맞추자 였다고 생각했다.
현실의 은유라던가, 변경의 위한 설계이라던가 하는 사실을 알던 모르던
(누군가 분명 전달해줬을 가능성이 더 높지만, 내가 이해를 못했으리라)
솔직히 개발하는 것에 아무런 문제가 없었다. 아니, 없다고 생각했던 것 같다.
그렇기에 다들 하나의 시나리오에 맞춰 개발을 하면서
뭔진 모르겠지만
슬슬 알 수 없는 의문이 하나씩 생겨나기 마련일 것이다.
나는 이 책을 통해 그 의문을 문을 찾아 두드릴 수 있게 되었고 (정확히는 돌에 머리를 맞은 기분이었지만)
그 안에서 '작게나마' 이유를 알게 되었다.
작게나마라고 한 건, 지금 내 실력으로 좋은 책 한 권 읽었다고 모든 것이 이해된다고 자만하지 않기 위해서다.
나중에, 아주 나중에 스스로를 1인분 이상의 개발자라고 느낄 때
이 책을 다시 읽으면 또 느낌이 다를 것이라 생각이 든다.
그 날을 기대하며
조영호님의 다른 책인 오브젝트는 더 오랜 시간이 걸린다고 하는데
언젠가 읽어볼 기회가 있을 것이란 생각에, 두근거린다.
'Develop > 개발서적' 카테고리의 다른 글
Java의 정석(3판) (0) | 2025.04.18 |
---|---|
베일리의 독서 목록 (2) | 2025.04.14 |