언제나 곁에 두고 바로 찾아보기 좋은 기본서

“한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.”

기본서는 어떻게 다시 찾게 되는가?

‘이것이 자바다’ 는 국내에서 유명한 자바 기본서 중 하나다. 개인적으로 여러 자바 기본서들 중에 가장 좋아하고 개정판이 나왔다는 소식에 서평 신청을 했다. 책은 크게 3파트로 나눠져있다. 첫번째 자바 언어와 프로그래밍의 기본, 두번째 객체지향 프로그래밍의 기본, 마지막 세번째로 자바만의 특화된 사용법을 담고 있다. (라이브러리 활용 + 데이터 입출력)

자바가 가지고 있는 방대한 개념이나 긴 역사를 증명하듯 시중의 자바 기본서는 다양하다. 내가 ‘이것이 자바다’를 좋아하는 이유는 기본서로써 부족하지 않으면서도 군더더기가 없기 때문이다. 이 균형을 잘 맞춘 책이 생각보다 잘 없다. 학습 속도와 흐름이 잘 갖춰진 기본서들은 빠지는 내용이 많고, 내용을 끝도 없이 담다 보면 자칫 과유불급이 되는 것이 대부분의 기본서다. 앞에서 자바와 객체지향 프로그래밍에 대한 내용을 쉽게 설명하면서도, 뒤의 제네릭, 스레드, 컬렉션, 스트림 같은 처음보면 이해하기 어려운 주제들을 한눈에 이해할 수 있도록 핵심을 서술한다.

어느 정도 궤도에 오른 초보 개발자도 기본서가 가끔 필요하다. javadoc 을 보는 것이 가장 좋겠지만 spec sheet 보다 how to 가 필요한 경우가 있다. 자바 개발자는 넘쳐나서, 왠만한 개념은 검색을 통해 잘 정리된 블로그 글로 해결 할 수 있다. 그러나 파편화 된 개념을 하나의 덩어리로 묶는것은 기본서만이 할 수 있는 일이다. 성장하다 보면 지식을 습득하지만 여기저기 흩어져있는 경우가 있다. 이럴 경우 제대로된 기본서를 가볍게 읽어주면 그 구슬들이 하나로 묶이며 거대한 지식의 요람이 된다. ‘이것이 자바다’ 는 다른 학습 방법을 통해 자바를 습득 했더라도, 이 책을 통해서 다시 지식을 한데로 묶을 수 있는데 특화되어 있다.

예를 들어 스트림의 최종 처리에서 Optional을 반환하는 메소드가 있지만 이 Optional에서 원래 객체를 꺼내거나 Optional을 활용하는 방법은 ‘자바8 에서 바뀐 것’ 따위의 파트에서 따로 설명한다. 그러나 이 책에서는 스트림 최종 연산자 뒤에 바로 isPresent(), orElse(), ifPresent()를 설명하고 원래 객체를 안전하게 꺼내는 방법에 대해서 설명한다. 나는 이런 점에서 ‘이것이 자바다’가 파편화 된 지식들을 하나로 잇는데 매우 큰 길잡이가 된다고 생각한다.

기본서는 입문서가 아니다. 입문을 위한 책들은 ‘따라하며 – 만들기’, ‘- 시작하기’ 같이 실제로 작동하는 것을 보여주고 흥미를 유발하기 위한 내용들로 가득하다. 하지만 그러기 위해 많은 내용들이 제외되고 놓치게 되는것이 사실이다. 이 책은 그런 부분에서 기본을 채워 줄 수 있는 책으로써도 좋다.

개정판에서 바뀐 내용

자바8 버전이 나온지도 벌써 8년이 됐고 LTS는 두번이 바꼈다. 이 책에서는 17(LTS) 버전을 기준으로 설명한다. 그동안 추가되고 향상된 내용들에 대해 충실하게 포함되어있다. 초판을 갖고 있어 직접 비교해보니 아래의 내용에 대해 추가되거나 변경됐다.

  • 향상된 try (Java 9)
  • 불변 컬렉션 .of() (Java 10)
  • Record 키워드 (Java 14)
  • Sealed 클래스 (Java 15)

기존의 Java FX와 NIO 파트는 초판과 달리제외되고 별도로 PDF를 통해 무료로 제공한다. (한빛미디어 자료실)
그리고 새 개정판에 맞춰서 유투브에서 저자 직강으로 강의도 하고 있다 (유투브 링크)

“한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.”

Comments