'2015/08'에 해당하는 글 1건

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.



객체지향의 사실과 오해

저자
조영호 지음
출판사
위키북스 | 2015-06-17 출간
카테고리
컴퓨터/IT
책소개
『객체지향의 사실과 오해』는 객체지향이란 무엇인가라는 원론적면서...
가격비교



본의 아니게 난 회사에서 당구를 꽤 잘 치는 사람으로 소문 나 있다. 아마 예전 회사에서 당구 동호회를 설립했던 이력 때문일 것이다. 지금은 아니지만 한때 난 지인들 사이에서 당구를 꽤 잘 치던 사람이긴 했었다. 그때를 돌아오면 분명 잘 치긴 했지만 한 가지 문제가 있었다. 그것은 기복이 심했다는 점이다. 어떤 날은 정말 잘 쳤지만, 어떤 날은 형편없었다.


몇 년이 지나고 우연히 한 친구를 만났다. 그 친구는 내게 당구대에 있는 점을 기준으로 계산해서 치는 당구가 있다는 것을 알려주었다. 혹시나 하는 마음으로 그 친구가 알려준 대로 당구를 쳐보았다. 정말로 계산한 대로 공이 움직이는 것 아닌가? 물론 사람이 치는지라 100% 정확하지는 않았다. 그렇지만 내가 감으로 치는 것보다는 훨씬 정확했다. 나는 이런 방식으로 훈련한다면 기복이 훨씬 줄어들 것이라 생각했다.


몇 해 전 켄트벡의 구현패턴이 나왔던 때이다. 너무 뻔한 내용을 담았다는 비판이 있었지만, 난 구현패턴을 읽으며 얻은 것이 있었다. 그중 내 안에 거미줄처럼 얽혀있던 지식이 정리되어 구조가 정립되었다는 점과, 내가 어렴풋이 알고는 있었지만 항상 표현하기 어려웠던 미묘한 것들을 구체적인 어휘를 이용하여 표현할 수 있게 되었다는 것이다.


또한 구현패턴에서 언급한 대로 자문해본 적이 있다. "이 메서드는 왜 이 클래스에 있어야 하는지?", "이 필드는 왜 이 위치에 있어야 하는 것이지?" 부끄럽게도 난 내가 작성한 코드에 대해 100% 설명할 수 없었다. 나도 모르게 무의식적으로 감으로 작성한 코드가 많았던 것이다. 설명할 수 없는 것들은 근거가 없었고, 나는 개발을 하며 내가 했던 수 많은 판단이 얼마나 취약할 수 있는지에 대해 겸허히 인정할 수밖에 없었다.


최근 "객체지향의 사실과 오해"라는 책을 읽었다. 이 책은 제목 그대로 객체지향에 대해 다룬 책이다. 난 이 책을 읽으며 예전 구현패턴을 읽을 때와 비슷한 느낌을 받았다. 동료들과 해왔던 디자인 관련 토론이 기억났다. 난 "책임", "역할", "일반화 된 인터페이스" 등 여러 어휘를 사용했었다. 지금 와서 생각해보니 그 어휘들을 내가 정확히 정의하고 있었는지, 듣는 친구들은 나와 같은 생각을 했었는지 잘 모르겠다.


다행히 이 책을 읽으며 객체지향이라는 주제 혹은 소프트웨어 디자인에 대한 구조가 내 머리속에 어느 정도 정립되는 느낌을 받았다. 구현패턴을 읽을 때와 비슷한 느낌이다. 또한 앞으로 좀 더 명확히 정의해 사용할 수 있는 어휘를 갖게 되었다. "타입", "추상화" 등이다. 앞으로 생각을 할 때 이 책을 통해 배운 어휘를 좀더 체계적으로 활용할 수 있을 것 같다. 마치 당구를 감이 아닌 계산을 통해서 치는 것처럼 말이다.


솔직히 이 책은 재밌는 책은 아니다. 음식에 비유하자면 딱딱한 오징어 다리와 비슷한 느낌이다. 딱딱한 오징어 다리는 처음 씹을 때 매우 곤혹스럽다. 이가 아프기도 하고, 턱이 피곤한 느낌이 들기도 하다. 그렇지만 인내하며 씹다 보면 오징어가 가진 진한 맛과 향이 입안으로 강하게 흘러든다. 이 순간 처음 느꼈던 부담이 보상되는 느낌이 들고, 잠시 후 나도 모르게 다른 하나를 또 입에 넣고 씹게 된다.


주위에서 긴박한 사업적 요구사항에 맞추고 맞추다 개발 품질이 몹시 훼손되어 어려운 상황에 처하는 것을 종종 본다. 사업 중심 조직에서는 그러기 쉬운 것 같고, 어떤 곳은 그게 개발자의 미덕으로 취급되는 것 같다. 혹시라도 이런 환경에 있는 분들이 계시다면 이 책을 권하고 싶다. 이 책을 공부한다면 긴박한 사업적 요구사항을 맞추면서 적절한 개발 품질 또한 유지하는 데 도움이 되리라 생각하기 때문이다.


저자이신 조영호형은 대화를 자주 나누는 가까운 개발자 선배시다. 형 또래의 분들이 관리자가 되거나, 개발자로서의 경쟁력을 점차 잃어가는 것을 본다. 그러나 형은 처음 만났던 2006년부터 지금까지 한결같이 개발에 대해 진지하게 탐구하는 학자와 같은 모습을 유지하고 계신다. 또한 형에 대해 모른채 이 책만을 보면 이론만을 추구하는 분처럼 보일지 모르겠으나, 이론을 실제로 바꾸기 위해 현장에서 고군분투하는 분이기도 하다.


좋은 책을 써 주셔 감사하고, 오래전부터 원고 리뷰를 부탁받았으나 심각한 게으름 때문에 제대로 리뷰를 못해 죄송한 마음이다. 그럼에도 책이 나오자마자 웃는 얼굴로 선물해주신 형께 감사한 마음이다. 이번 책은 1편이고 본격적으로 같은 주제를 다루는 다음 책을 준비 중이신 것으로 알고 있는데, 괴롭고 험한 길로 보이지만 또 한번 힘을 내셔셔 좋은 책으로 열매 맺으면 좋겠다.


WRITTEN BY
차민창
르세상스 엔지니어가 사회를 이끌어나가는 상상을 하며!

,