https://product.kyobobook.co.kr/detail/S000001033066
자바로 개발을 하게 되면 좀더 좋은 방법이 있을 거라는 생각을 하게 됩니다. 클린 코드 책을 검색하는 것과는 별개로 자바를 더 자바 답게 개발하는 방법을 찾게 됩니다. 그러한 점에서 이펙티브 자바는 더 효과적으로 자바를 개발할 수 있는 좋은 가이드가 됩니다. 저자인 조슈아 블로크는 자바 컬렉션 프레임워크 비롯하여 많은 자바 프레임워크 개발에 참여했습니다.
이펙티브 자바 3판에서는 Java 9버전 기능까지 개발 가이드를 줍니다. 많은 기업들이 이제 자바 8버전이상으로 개발을 진행하고 있습니다. 자바 8부터 많은 기능적인 추가가 있었고 많은 개발자들이 추가된 기능을 잘 쓰기를 원하고 있습니다. 이펙티브 자바 2판에 이어 3판에서는 자바의 추가된 기능 또한 소개하였기 때문에 추가 기능을 쓰는데 많은 도움을 얻을 수 있습니다.
책은 상당히 구조적으로 구성되어 있습니다. 2장의 객체의 생성은 가장 실무적으로 유용한 부분입니다. 왜냐하면 객체 생성을 통해 객체지향 개발이 시작되기 때문입니다. 객체와 생성과 해제를 잘하는 유용한 방법들을 제일 첫 부분에 소개하고 있습니다.
5장부터는 제너릭부터 애너테이션을 소개하고 있습니다. 앞장의 객체 생성, 메서드, 클래스는 많이 쓰는 만큼 사람들이 좋은 방법에 익숙합니다. 하지만 제너릭이나 애너테이션부터는 자바를 잘 사용하려면 공부가 필요하고, 앞부분에 비해서는 난이도가 있는 편입니다. 그렇기 때문에 제너릭이나 애너테이션 설명이 어떤 책보다도 도움이 되었습니다.
일반적인 프로그래밍 원칙이 실무적으로도 도움이 될 원칙들이 많았습니다. 지역변수 처리나 개선된 for문, 박싱타입등 도움이 될 것이 많았습니다. 성능적으로 사용하면 좋은 기능들 혹은 리플렉션같이 유용하지만 기능 개발에 사용하면 성능에 안좋은 기능들도 소개하여 유용했습니다.
자바 8부터는 람다, 스트림이 기능들이 도입되었습니다. 함수형 프로그래밍의 기능 도입을 위해 추가되었기 때문에 더 잘 쓰는 방법들도 고민하게 됩니다. 책에서 소개한 ‘익명 클래스보다는 람다를 사용하라’, ‘스트림을 주의해서 사용하라’ 이러한 가이드는 책을 읽었을 때 유용하다고 느꼈습니다. 보통 기능이 추가되면 사람들이 좋아 보이는 부분이 주목하여 오용하게 되는 점이 있는데, 책에서는 어떤 점에서 스트림을 사용하면 좋은지 안좋은 지를 잘 가이드 해주었습니다.
직렬화는 상식으로 알아둘 필요가 있습니다. 이제는 JSON 기능을 많이 쓰지만 이전에는 자바 직렬화 기능을 많이 썼습니다. 직렬화 기능을 어떤 점이 좋지 않았고 개선책을 고민해야하는지 책에서 소개함으로서 최근에 JSON이 많은 쓰이게 되는지 이해를 하는데 도움이 되었습니다.
‘바퀴를 다시 발명하지마라’ 라는 프로그래밍 격언이 있습니다. 개발을 하게 되면 예외를 많이 만나게 됩니다. 자바 표준을 왜 써야하는지 책을 읽으면 이미 많은 기능이 준비 되어있다는 것을 깨닫게 됩니다. 좋은 예외 처리는 자바 기능을 잘 알 때 더 잘 쓸 수 있다는 생각을 들게 합니다.
'읽은책' 카테고리의 다른 글
코어 자바스크립트 (0) | 2023.11.02 |
---|---|
이 책도 읽지 마세요 (0) | 2023.11.02 |
코틀린 인 액션 (0) | 2023.11.01 |
모던 자바 인 액션 (0) | 2023.11.01 |
도메인 주도 설계 핵심 (0) | 2023.11.01 |