나는 3년간 객체지향 언어인 자바를 사용하고 스프링 프레임워크를 사용했지만
객체지향에 대한 개념을 모르고 사용했었다. 아니, 언어나 도구를 이해하지 않아도 상관없는 환경에서 지내왔다. 오로지 사용만 해봤다면 ok라고 말하는 환경이다.
이전까지만 해도 나는 소프트웨어 장인 챕터14. 기술적 변화의 실행에서 언급되는 회의론 중에서 '무지'였다.
더 이상 설명은 TMI.. 생략한다.
최근에 재직자를 대상으로 진행하는 NextStep의 TDD, Clean Code With Java 를 교육 받았다.
이 교육 덕분에 나는 객체지향을 하나씩 깨닫게 되었고, 이전까지 사용만 해왔던 스프링 프레임워크가 무엇인지 이해하기 시작했다. (아직 스프링에 대한 공부를 시작한건 아니다.)
나는 3년동안 경험을 쌓으면서 발생한 문제에 대한 해결을 그 당시 최선의 방안이라 생각했었던게, 객체지향을 알게 된 지금에서야 다시 바라보면 모든 게 잘못된 해결방법이라 생각된다.
다시 그런 선택을 안하기 위해 교육을 통해 배운것을 되새기고, 책을 읽으면서 객체지향을 공부하고 있다
다음은 가지고 있는 객체지향 관련 책이다.
객체지향의 사실과 오해 (읽음)
객체지향과 디자인 패턴 (읽음)
오브젝트 (읽음)
오브젝트 디자인 스타일 가이드 (읽음)
클린 아키텍처 (진행중)
GoF의 디자인 패턴 (중간 읽음)
토비의 스프링 1권 (읽을 예정)
이미 읽었거나 읽을 예정인 책들이 있지만 조만간 객체지향 기본 개념부터 간단하게 포스팅하고
각 책에 대한 리뷰를 해야겠다.
읽은 책마다 언급한 내용으로 객체지향에 대한 포괄적인 포스팅을 진행하려고 했지만
각 책마다 언급하는 내용과 핵심이 조금씩 달라 책마다 리뷰하기로 변경한다. (21. 06. 02.)