공부하는 스누피

이펙티브 자바 본문

IT 도서

이펙티브 자바

커피맛스누피 2021. 5. 24. 14:26

정가 36,000원, Joshua Bloch 저

이펙티브 자바는 개발자 필독서로 자주 소개되는 책으로, 자바 언어를 어떻게 활용해야 하는지 가이드라인을 제시해 준다. 나는 이 책을 두 번 도전하여 한 번은 완독에 실패했는데, 가장 큰 이유는 이펙티브 자바를 읽기에는 내가 자바 언어를 하나도 모르고 있었기 때문이었다. 물론 학부 과정에서 자바 프로그래밍을 배웠지만 이 책의 첫 Item부터 나오는 여러 디자인 패턴과 자바 개념들을 이해하고 넘어가기 부족했다. 그렇게 Item 4를 마지막으로 첫 도전을 포기했고, 당시 5기로 활동중이었던 SSAFY에서 자바를 다 배우고 난 뒤에 다시 한번 도전하기로 했다.

 

자바의 전체적인 내용을 복습한 뒤, 이펙티브 자바를 읽기 시작했다. 이전과 다른 점은 함께 책을 읽고 이야기할 사람들이 있었다는 점이다. 2월 말에 책읽기 스터디를 시작하여 한 주에 한 챕터씩 읽었다. 책읽기 스터디는 잘 알려진 '자바봄 스터디'의 운영 방식을 참고하여 진행하였고, 매주 미팅에서 그 주에 읽었던 내용을 복습할 수 있었다. 이펙티브 자바에 생소한 용어들이 자주 등장하기 때문에 스터디 목표를 속독보다는 꼼꼼히 읽는 것에 두었다. 그 결과, 500쪽 가량의 책을 3개월 만에 독파할 수 있었다.

 

매뉴얼은 한 번쯤은 꼭 읽어 봐야 하지만, 정독하기에는 분량이 많아 힘들다. 이펙티브 자바는 자바 매뉴얼(API docs) 중 자바를 효과적으로 개발하기 위해서라면 꼭 알아야 하는 부분을 여러 가지 근거를 들어 설명해 준다. 자바 매뉴얼에 'equals를 재정의하려거든 hashCode도 재정의 해야 한다'라는 내용이 한 줄로만 되어 있다면, 이펙티브 자바에서는 예시 코드와 여러 가지 근거를 통해 왜 hashCode도 재정의 되어야 하는지 알려 준다. 자바 문서화를 간접적으로 읽을 수 있는 것 뿐만 아니라 왜 그렇게 해야 하는지에 대한 명확한 이유 또한 알게 된다. 앞으로 자바 개발을 하는 데 있어 좋은 가이드라인이 되어 주리라 생각한다.

 

자바 언어를 실무에서 사용해 본적 없는 초급 개발자는 개발을 할 때 효율성이나 확장성을 고려하지 않은 개발을 하기 쉽다. 하지만 책을 읽는 3개월 내내 효율성과 확장성 등 OOP의 장점을 최대한 효과적으로 활용하는 내용을 보고 나니, 이제는 개발 중에 어떻게 하면 더 효과적인 코드를 짤 수 있는지 고민할 수 있는 초급 개발자가 되었다. 책은 효과적으로 코드를 짜지 않았을 때 일어나는 일을 상세히 알려준다. 정답지만 보여주는게 아니라 피해야 할 사례도 알려주면서 독자가 왜 이런 코드를 피해야 하는지 이해할 수 있도록 한다. 

 

이 책은 자바 API 문서와 함께 보는 것을 추천한다. 책을 읽으면서 처음 보는 클래스나 타입이 있을 수 있는데, 매뉴얼을 읽으면 확실히 이해하고 넘어갈 수 있다. 책에서 나오는 용어 중 일부는 한글화된 것보다 영문 이름이 더 이해하기도 쉽고, 검색하기도 쉽다. 한글화된 용어로 구글링해 보면 이펙티브 자바를 정리해 놓은 글밖에 보이지 않을 수도 있다. 번역 용어집이 있으니 검색해도 안 나오는 용어가 있을 때 참고하기 좋다.

 

자바로 코딩테스트 준비를 하면서 자바로 코딩하는 데 익숙해질 수 있었다면, 이펙티브 자바를 3개월 동안 읽으면서 자바의 활용법을 익힐 수 있었다. 이렇게까지 책을 오랫 동안 읽어본 적이 없었기 때문에 조금 아쉽기도 하다. 가까운 책꽂이에 두고 앞으로 자바 개발을 하면서 효과적인 개발에 대해 고민할 일이 생길 때마다 필요한 부분을 다시 읽어볼 생각이다. 

 

https://github.com/kjsu0209/JavaBook/milestone/1

 

kjsu0209/JavaBook

책읽기 스터디. Contribute to kjsu0209/JavaBook development by creating an account on GitHub.

github.com

https://docs.google.com/document/d/1Nw-_FJKre9x7Uy6DZ0NuAFyYUCjBPCpINxqrP0JFuXk/edit

 

<이펙티브 자바, 3판> 번역 용어 해설

안녕하세요. <이펙티브 자바 3판>을 번역한 개앞맵시(이복연)입니다. 이 문서는 <이펙티브 자바 3판>의 번역 용어 관련 설명을 담고 있습니다. 단순히 용어를 나열하고 1:1 매핑하기보다는, 연관된

docs.google.com

https://www.aladin.co.kr/shop/wproduct.aspx?ItemId=171196410 

 

이펙티브 자바

자바 플랫폼 모범 사례 완벽 가이드 이펙티브 자바의 개정판. 3판에는 자바 7, 8, 9에서 자바 언어와 라이브러리에 추가된 특성들을 녹여냈다. 특히 그동안 객체 지향에 치중하던 자바에 새로 도

www.aladin.co.kr

 

Comments