『이것이 자바다』는 기본 개념에 충실한 설명으로 2015년 초판이 출간된 이후부터 지금까지 프로그래밍 언어를 배우려는 사람들에게 큰 사랑을 받아왔다. 특히 교육 기관에서 가장 많이 사용하는 자바 대표 입문서로서의 역할을 톡톡히 하면서 명실상부한 자바의 교과서로 이름을 알렸다.
이번 개정판은 기존 Java 8 버전에 최신 Java 17 LTS 버전까지 아우르는 내용으로 업그레이드하였으며, 더욱 풍부해진 708개의 실전 예제를 통해 이론으로 학습한 모든 내용을 직접 코드를 실행하며 따라 할 수 있도록 구성했다. 입문자뿐만 아니라 현직 개발자들도 항상 가까이에 두는 기본서로 꼽을 만큼 내실 있는 내용으로 꽉 채운 이번 개정판은 다시 한 번 독자들을 자바 정복의 길로 안내할 것이다.
저자소개
저자
신용권
25년 동안 시스템 제어 및 애플리케이션 개발자로 활동한 베테랑 개발자이자, IT 전문 교육자이기도 하다. 메카트로닉스를 전공했으며, 삼성항공 시스템 설계 파트에서 하드웨어 제어용 소프트웨어 개발을 담당했다. 유수한 교육기관에서 재직자 및 전문가 위탁교육을 진행해 왔으며, 현재는 한국소프트웨어산업협회에서 교수로 근무하고 있다. 주로 오픈 소스 프레임워크, 안드로이드, IoT, 스택 애플리케이션 분야에서 현업 재직자 및 채용 예정자를 위한 소프트웨어 역량 강화 사업의 강사로 활동하고 있다.
컴퓨터공학 및 IT융합공학을 전공했으며, 20년간 비트컴퓨터, 코스타, 한국소프트웨어산업협회에서 현업 개발자 및 취업 준비생들을 위해 자바, C# 개발 및 다양한 기업체 교육을 진행하고 있다. 오늘도 빠르게 변화하는 시대에 발맞춰 프로그래밍 교육을 위한 즐거운 상상을 하고 있다.
『이것이 자바다』는 기본에 충실하면서도 개념 하나하나를 놓치지 않는 저자의 꼼꼼한 설명으로 지금까지 많은 독자를 훌륭한 개발자로 성장하게 했다. 7년 만에 완전 컬러판으로 업그레이드한 이번 개정판은 Java 17 LTS 버전을 기반으로 기존 내용을 보강했으며, 최신 자바 언어의 경향과 특징을 반영하여 자바를 활용한 객체 지향 프로그래밍의 모든 과정을 친절히 안내한다.
이 책은 자바 언어의 기초부터 자바를 활용한 다양한 프로그래밍 기법을 그림을 통해 설명한다. 또한 708개의 실전 예제를 수록해 학습하는 모든 내용을 충분히 따라하면서 연습할 수 있도록 구성했다. 책을 완독하고 나면 코드만 보고도 자바의 구조와 실행 흐름을 머릿속으로 그리는 자신의 모습을 발견할 수 있을 것이다.
▶ 이 책이 필요한 독자
✔ 자바 프로그래밍의 기초부터 심화까지 깊이 있게 공부하고 싶은 입문자
✔ 객체 지향 프로그래밍의 개념을 체계적으로 다시 잡으려는 현업 개발자
✔ 현업에서 자바를 사용하지만 최신 기술까지 알고 싶은 전문 개발자
▶ 개정판에서 추가된 내용 엿보기
• Java 9부터 InputStream에 추가된 transferTo() 메소드
• Java 12부터 제공되는 Switch Expressions
• Java 13부터 제공되는 텍스트 블록 문법
• Java 14부터 도입된 레코드 사용
• Java 15부터 제공되는 봉인된 sealed 클래스
• Java 16부터 얻을 수 있는 요소 스트림의 List 컬렉션
• Java 17부터 선언 가능한 정적 필드와 정적 메소드
• Java 9부터 모듈화되어 Java 17에서 완성된 표준 라이브러리
▶ 무료 특별판 e-Book 별도 제공
『이것이 자바다(개정판)』의 무료 특별판 e-Book을 각 온라인 서점과 한빛미디어 홈페이지 자료실(https://www.hanbit.co.kr/src/11002)에서 제공한다. 본 책의 20장에서 Oracle용 데이터베이스 입출력을 학습한다면, 무료 특별판으로는 같은 내용을 MySQL 버전으로 학습할 수 있다. 본 책에서 배운 내용만으로도 자바 프로그래밍을 공부하는 데에는 충분하지만, 보다 고급 기술을 활용하고 싶다면 무려 530여 페이지 분량의 무료 특별판에서 Swing, JavaFX와 NIO 기반 입출력 및 네트워킹 기술도 추가로 학습할 수 있다.
▶ 독자 Q&A 게시판 운영
학습을 진행하면서 질문이 생기면 <이것이 자바다> 네이버 카페(https://cafe.naver.com/thisisjava)의 Q&A 게시판을 활용할 수 있다. 다른 학습자들이 올린 궁금증과 답변을 보면서 내 고민을 해결해나가는 기쁨과 함께 저자가 직접 달아주는 답변도 받아볼 수 있다. 초판이 출간된 2015년부터 운영했기에 이곳에 축적된 기타 알짜배기 지식들도 상당하므로 놓치지 말고 적극 이용해보자.
책을 제공받았지만 싫으면 싫다. 별로면 별로다. 좋으면 좋다! 라고 솔직하게 리뷰하겠습니다.
책 소개 :
자바는 대학교때 안드로이드 스튜디오를 공부하면서 살짝 만져본게 다였던 언어였다.
프로그래밍 언어 순위 중 2위에 자리잡고 있는 자바는 꽤 많은 개발 분야에서 활용되고 있고 배워두면 개발에 도움이 되겠다 싶었던 언어였는데 뒤늦게 정처기를 공부하면서 자바부분이 시험에 나왔었다.
유니티로 개발을 하고있지만 모바일 타켓으로 빌드를 할때 유니티로 작업했지만 다시 안드로이드 스튜디오에서 부분 작업을 해야할 때도 있었고 알고리즘 설명예제에서 자바는 무조건 있었었다.
이참에 공부를 해놓으면 좋겠다 싶어 이 책을 신청하게 되었다.
난 책을살때 지은이가 적는 글을 조금 중요하게 보는 편이다.
지은이 설명에서 이야기 하다시피 이 책은 서술식으로 설명하기보다 그림을 이용하여 읽은이가 이해하기 쉬울 수 있도록 노력한 부분이 많이 보였다. 또한 나도 언어를 배울때 이론으로는 간략하게 (이해를 못하더라도) 읽는 정도로만 공부하고 간단한 프로그램을 직접 만들어보면서 습득하는 스타일인데 이 지은이 또한 그 부분을 위한 많은 샘플코드를 주석과 함께 설명을 해놓았다.
장점 : 예제가 많아서 좋았다. 난 개념을 한번에 이해하기엔 머리가 그리 좋지않아 활용해보고 직접 그 부분을 사용해봐야 이해를 하는 스타일이라 이해하기 좋았다.
단점 : 모든 언어책이 그러하듯 두껍다 == 무겁다...
언제 공부할까 라는 걱정이 조금 생겼다. 한해를 넘기지 말아야 할텐데.. 공부에 대한 압박이 느껴졌다...
본 책은 입문자부터 최신 자바 정보가 담긴 리마인드용 책이 필요한 개발자 모두에게 추천하는 책입니다. '이것이 자바다'는 자바 입문부터 시작하여 중급이상의 프로그래밍을 위한 개념까지 모두 다루고 있습니다. 또한 예제소스를 무려 708개나 제공하고 있으며 유튜브 강의 또한 무료로 제공하고 있습니다. 학습 중에 궁금한 것이 생기면 물어볼 수 있는 채널로 저자가 운영하는 네이버 카페를 활용할 수 있는 것도 본 책의 특징이라고 생각합니다. 게다가 자바 8부터 자바 17까지 버전에 대해 다루고 있는 책이기 때문에 코딩테스트와 자바 관련 면접을 준비하기에도 꽤 유용한 책입니다. 저는 '이것이 자바다'를 강의 교재로 쓰기에도 좋고 자습서로 사용하기에도 매우 좋은 책이라고 생각합니다.
책 제목 : 이것이 자바다 개정판:교육 현장에서 가장 많이 쓰이는 JAVA 프로그래밍의 기본서
글쓴이 : 신용권, 임경균
출판사 : 한빛미디어
책의 특징
프로그래밍 언어의 기본서들을 대개 두껍다. 완전한 베이스부터 활용까지 최대한 폭 넓은 내용을 다루기 위함인데, 해당 책도 그러하다. 웬만한 사람의 뚝배기는 던지면 뽀가질 것만 같은 두께로 인심 좋게 많은 내용을 넣고 있다. 실제로 얼마나 많은 내용들을 담고 있는지에 대해서는 아래 더 자세히 설명해보려한다.
[나의 부족한 내용을 마주하다] 사실 본인은 살짝 부끄럽지만 자바를 업무에 주 언어로 사용하는 주니어 개발자이다. 여기서 본인이 표현을 할 때 '부끄럽지만' 이라는 단어를 사용한 이유는 기본적인 부분이 다소 부족하기 때문이다. 특히 그 점을 해당 책의 목차를 마주하면서 느끼게 되었다. 해당 책에서는 클래스, 추상 인터페이스 등의 내용부터 중첩 인터페이스 등과 같이 설령 마주한 적은 많아도 용어적인 측면에서 설명하는데 머뭇거림이 존재하는 개념들까지 포함하고 있다. 그렇기에 목차만 마주하더라도 이게 무엇이다 라고 바로 연상되지 않는 개념들이 다소 존재하였다. 그런 부분들을 밑줄쳐두고 더욱 신경써서 읽으며 공부하게되었다. 이런면에서 본인이 기본을 어느정도 쌓아두었는를 정확히 파악하고 공부할 수 있는 지표가 되어줄 수 있을 것 같다는 생각이 들었다.
[내용 반 코드 반] 다른 모든 개념서들이 그렇 듯, 코딩을 어찌하는지에 대한 설명을 하기 위해서는 그 과정의 코드를 직접 보여주는 것이 매우 확실한 방법이다. 해당 책은 정확히 그런 방법으로 설명하고 있기 때문에 다소 추상적인 설명으로 와닿지 않던 부분들도 확실하게 이해하고 넘어갈 수 있었다. 코드를 실제로 짜는 입장에서는 더욱 와닿기 쉽도록 과정 하나 하나에 대해서 코드로 보여주고 있기 때문에 따라하기 어렵지 않을 것이다. 또한, 예시를 최대한 익숙하게 만들기 위해 아래처럼 자동차 등의 예시를 사용하는 등 여러 시도를 한 것이 눈에 띄었다.
[Youtube, Git 등으로 더욱 확실하게] 아무리 개념서들이 잘 설명해 준다고 하더라도 상황이나 환경 등에 따라서 거의 유사하게 따라 했더라도 돌아가지 않거나 조금의 이해 미스로 완전히 다른 코드가 나오기도 한다. 그런 상황이 프로그래밍 시에는 매우 빈번하기 때문에 본인은 소스 코드를 온전히 제공하는 기본서들에 더욱 눈이 가는 편이다. 예를 들면, 아래와 같이 DB 등 특히나 어려운 부분에 대해서 git 을 이용해 확실히 동작 등을 확인하고 유튜브 등으로 개념이 이해한대로가 맞는지 한번 더 확인하거나 보충하는 방식으로 학습하는 것으로 돌다리를 두세번 두들기고 건너듯이 확실히 하는 것이다.
추천 대상
해당 책은 자바를 주 언어로 사용하는 개발자들부터 자바를 배우고 싶은 개발자들까지 폭넓게 추천하고 싶다. 그 이유는 시작하는 입장에서는 이렇게 기반을 확실히 다지는 방법은 없기 때문이며, 이미 알고 있는 입장에서는 본인의 부족한 점을 확실히 확인할 수 있기 때문이다.
자바 라는건 IT비전공자라고 하더라도 조금이라도 컴퓨터, IT에 관심 있는 분들이나 컴퓨터를 업무용으로 많이 사용하는 분들도 들어 봤을 정도로 현재는 가장 많은 분야에서 사용하는 프로그래밍 언어중에 하나가 아닌가 싶은데요, 예전에는 프프로그래밍, 코딩 공부를 시작하려고 하면 C언어로 많이들 시작을 했고 포인터에 때문에 멘탈이 나갔던 경험들이 많이들 있을듯 합니다.
현재는 프로그래밍을 공부를 시작하는 분들이 가장 많이 선택하는 언어가 자바가 아닌가 싶은데, 그만큼 자바라는 언어는 다양한 플랫폼 환경에서도 동일한 방법으로 프로그래밍을 할수 있기 때문에 어떤 운영체제에서든 동일하게 작동을 하며, PC 어플리케이션 프로그래밍에서 웹환경으로 변화가 되면서 웹프로그래밍으로 많이들 사용하고, 현재는 안드로이드와 같은 앱프로그램들 또한 자바로 프로그램으로 작성하면서 변화하는 플랫폼 환경에서도 계속적으로 자바로 프로그래밍을 할수 있는것 또한 자바를 공부하려는 분들이 선택하는 이유일듯 합니다.
기존에 자바 프로그래밍 공부를 시작하시는 분들이 '이것이 자바다'라는 책으로 많이들 공부를 하시고 도움을 많이 받으셨다고 합니다. 저는 이번에 이 책을 처음 알게 되었는데, 이번에 출간된 '이것이 자바다' 책은 7년만에 새로 개정이 되어 출간된 책이라고 하는데, 그만큼 자바 언어도 많은 발전이 있었고, 여전히 많은 분들에게 사랑 받는 프로그래밍 언어라는 것이겠지요.
이 책은 크게 4개의 파트로 구분이 되어 있지만, 앞에 2개의 파트는 자바 프로그래밍 언어에 대한 문법적인 부분에 대한 부분이기 때문에 자바 프로그래밍을 조금이라도 공부해 보신분들은 가볍게 읽고 넘어갈수 있는 부분이며, 뒤에 2개의 파트는 자바 프로그래밍 언어의 기본적인 문법을 알고 있는 상황에서 자바 프로그램언어를 통해서 실제로 프로그래밍을 하는 방법에 대한 응용 부분이라고 할수 있다.
파트 1에서는 자바 언어에 대한 기초적인 부분을 학습할수 있는 부분으로, 프로그래밍 공부를 시작하면 제일 먼저 공부하게 되는, 타입이나, 연산자, 제어문등 어떤 프로그래밍언 언어라도 공부를 해보신 분이시라면 자바언어의 차이점만을 캐치하시면 되어서 빠른 시간내에 넘어가실수 있으며, 프로그래밍, 코등 경험이 없으시더라도 책에 나와 있는 설명과 예제들을 실제로 코딩해보시면 이해하시는데 어려움이 없으실 겁니다.
파트2 에서는 객제지향 프로그램 언어에 대한 특징에 대한 부분을 아시게 되는 부분으로 처음 공부하시는 분들은 조금 어려워 하실수 있는 부분인데, 이 책에서는 그림 등으로 친절하게 설명을 해주고 있어서, 글로만 읽어서는 조금 이해하기 힘들수 있는 부분들도 직관적으로 이해할수 있어서 천천히 고민해 보시면 대부분 다 이해할수 있으실 겁니다.
파트1, 2를 학습하신다면 자바 프로그래밍에 대한 기본적인 것은 아시고 어떻게 프로그램밍을 하는 것인지 아실수 있으실 겁니다. 그 후로 파트3 에서는 자바로 프로그래밍을 하면서 가장 많이 사용하는 라이브러리들을 설명해주고 있는데요, 자바로 프로그래밍을 하다 보면 여러 라이브러리를 불러와서 사용해야 하는데 모든 라이버러리를 책에 수록할수 없지만, 어떻게 참고해서 사용하는지를 알려주고 있기 때문에 학습을 하시면 앞으로 자바 프로그래밍을 하는데 가장 많이 활용을 할수 있는 파트 입니다. 또한, 많은 프로그래밍 언어에서 람다식을 많이들 사용할수 있도록 하는데, 자바도 람다를 사용할수 있도록 추가기 되어 있어서 자바 언어에 추가된 기능들도 알수 있습니다.
마지막으로 파트4는 응용 부분이라고 할수 있는데, 실제로 프로그래밍을 작성할때 가장 많이 사용하는 부분들이 데이터를 다루는 부분이 아닌가 싶은데, 이부분에 대해서 기초적인 파일입출력 뿐만 아니라 DB에 연결하여 데이터를 다루는 방법과 요즘 앱프로그래밍에서 많이 사용하게 되는 네트워크 상에서 JSON을 통해서 데이터를 다루는 방법까지 학습할수 있어서, 이 책을 통해서 간단한 데이터를 저장하고 다루는 프로그램을 스스로 작성할수 있게 되실 겁니다.
이 책의 장점은 모든 설명마다 실습해 볼수 있는 예제들이 수록되어 있어서, 실제로 코딩을 해보면서 이해할수 있고, 또 궁굼한 부분은 응용으로 해서 코딩을 많이 연습해 볼수 있도록 도움을 주며, 저자분이 직접 유튜브로 무료 강의를 제공하고 있고, 카페도 운영을 하고 있어서 궁굼하신 부분들은 저자분에게 직접 문의를 하고 도움도 받을수 있어서, 혼자서도 충분히 자바 언어를 독학하실수 있다는 점입니다. 그래서 자바 프로그래밍 언어를 처음 공부하시는 IT비전공자들도 혼자서 충분히 이 책을 통해서 공부를 하시고 IT개발자로의 취업도 도전해 보실수 있도록 많은 도움이 되실거라고 생각 합니다.
2022년 9월에 출간된 자바 입문자에게 적합한 신용권 님의 <이것의 자바다 개정판>을 소개합니다. '이것이 OOO다' 시리즈는 한빛미디어의 대표적인 IT 시리즈물 중에 하나로 국내 교육 교재 분야에서 명성이 높습니다. 특히, 오늘 소개하는 <이것이 자바다>는 한빛미디어의 '이것이 OOO다'라는 브랜드를 만들어내는 데 혁혁한 공을 세운 명작입니다.
필자는 이 책이 출간된 해에 <이것이 자바다>를 처음 만났습니다. 개인적인 일로 자바 입문자용 책을 이용하여 찾고 있었으며, 여러 자바 입문서를 검토하던 중 필자가 선택한 책이 바로 <이것이 자바다>였습니다. 연구실 후배들에게도 추천했던 책이고, 그동안 자바 버전 업데이트가 발생하여 개정판을 기다리고 있었는데, 이번에 다시 이 책을 접할 기회가 있어 반가운 마음이 들었습니다. 이 책을 리뷰하는 데 도움을 주신 한빛미디어 관계자님께 깊은 감사의 말씀을 전합니다.
<이것이 자바다 개정판>은 약 1,000 페이지로 구성되어 있어 휴대하면서 읽기에 부담스럽습니다. 한빛미디어 책은 대부분 전자책으로도 출간되어 있으므로, 전자책 뷰어가 있으시다면 전자책으로 만나보는 것도 좋을 것 같습니다. 이전에는 쉽게 책을 나눌 수 있었는데, 이번에는 그렇게 구성되지 않아서 아쉽습니다.
한빛미디어 평가단에 참가하여 작성한 글이며, 한빛미디어에서 제공해준 책을 읽고 작성했음을 밝힙니다.
이 책의 매력은?
우리나라에서 프로그래밍 언어 자바의 위치는 독보적입니다. 물론 세계에서도 가장 많이 사용하는 프로그래밍 언어 중 하나입니다(TIOBE Index). <이것이 자바다>에서는 프로그래밍 언어 자바가 제공하는 대부분을 맛볼 수 있습니다. 1,000페이지가 넘는 페이지에서 소개하는 내용은 자바의 기본 개념부터 객체지향 프로그래밍뿐만 아니라, 전통적인 내용부터 자바 17에서 도입된 최신 기술까지 총망라하여 소개하고 있습니다.
<이것이 자바다>를 읽다 보면, 저자의 풍부한 강의 경험으로 만들어진 힘이 느껴집니다. 필요한 요소마다 간단한 그림 등의 도구를 활용하여 독자의 이해 폭을 넓혀주고, 실제 코드를 예제로 각 과정을 설명하고 있습니다. 이뿐만 아니라, 마지막에 제시하는 다양한 문제들을 통해 스스로 이해하는 수준을 가늠할 수 있도록 배려하고 있습니다. 자바를 독학하는 분들은 사견이지만, 이 책에서 제시하는 문제를 모두 풀어보는 것을 권장합니다. 분명 큰 효과를 얻으실 수 있을 것입니다. 이 책의 저자분께서 말씀하시듯이 3회 정도 정독을 하는 것을 추천합니다.
이 책은 교육용 교재로 적합하지만, 자습하기에도 좋습니다. 저자의 강의 경험이 내재된 친절하고 쉬운 설명으로 자바의 전반적인 기술을 소개하고 있습니다. 또한, 책의 서두에 자습을 위한 커리큘럼과 동영상 강의까지 제공하고 있으므로 독자의 의지만 있다면, 자습으로도 자바에 한결 손쉽게 다가갈 수 있으리라 생각됩니다.
<이것이 자바다>는 자바 17 LTS 버전을 기준으로 작성되어 있습니다. 기존 책 1,000페이지, 부록 500 페이지 등 약 1,500 페이지의 분량으로 구성되어 있습니다. 또한, 풍부한 예제와 확인 문제 등을 수록하여 독자가 자신이 어느 정도 이해했는지 확인할 수 있습니다. 그리고 저자가 운영하는 카페에서 문의 사항을 등록하고 피드백을 받을 수 있어 학습하는 과정에서 많은 도움을 받을 수 있습니다.
마치면서...
<이것이 자바다>는 자바 입문자에게 매력적인 서적이며, 실제로 자바 입문 서적 분야에서 많은 사랑을 받는 책입니다.
<이것이 자바다>는 자바 입문자용을 위한 책이지만, 큰마음을 먹지 않고 끝까지 완주하기 어려운 책입니다. 하지만 뜻을 품고 끝까지 완주한다면 자바에 대한 이해뿐만 아니라 그 이상을 얻을 수 있는 책이라고 확신합니다. 참고로 동영상 강의도 무료로 제공하고 있습니다. 다음링크를 참고하여 동영상과 함께 책을 보면 이해도를 더 높일 수 있을 것 같습니다.
"이것이 자바다"라는 책을 처음 마주했을 때 가장 먼저 든 생각은 '아, 굉장히 두껍다!' 였다.
그만큼 많은 내용들을 빼곡하게 다루고 있을 것이라는 것을 이미 두께에서 짐작이 가능할 정도로 두껍다는게 첫 인상이였다.
딱 봐도 두껍다ㅎㅎ
그러던중 저자가 눈에 들어왔다. 두분이 공동 저자셨는데 그 중에서 한분의 이름이 너무 낯이 익어서 찾아보니 과거에 판교에서 프로그래밍 강의를 들었을 때 우리 기수를 담당해주신 교수님이셨다!
지금 내가 개발자로 일하고 있을 수 있는 밑거름이 되는 지식을 가득 채워주시던 분이셔서 너무 반가웠고 이미 직접 강의를 들었었기에 강의나 내용에 대한 믿음과 확신이 샘솟았다.
취준생 시절 강의를 듣던 때로 돌아가서 그때의 기억을 되살리며 책을 읽기 시작했다.
책의 표지는 아쉽게도 관심을 끌 수 있을만한 디자인은 아니었다. 두꺼운 책의 두께와 표지만 봤을 때는 다소 학생 혹은 처음 프로그래밍을 공부하려는 학생들에 흥미를 끌기에는 아쉬워 보였지만 책을 하나씩 읽어보면 정말 놓치는 것 하나 없이 다양한 그림 예제들과 많은 소스예제들로 빼곡하게 채워져 있기 때문에 정말 기본부터 하나씩 알아가기 좋았다.
이해를 돕는 예제 그림과 코드들
또한 각 단원이 끝날 때마다 확인 문제를 통해서 배운 내용들을 복습할 수 있는 점이 좋았다.
하지만 가장 눈에 띄었던 점은 Java 버전을 8부터 17까지 대응하고 있다는 것과 자바의 기본 이론뿐만 아니라 Oracle연동과 그걸 통해서 간단한 게시판을 만들어보는 예제까지 정말 기본부터 응용까지 많은 내용들을 다루고 있는게 좋았다.
이런 내용들 또한 과거에 강의를 들어봤기 때문에 얼마나 탄탄하며 이해가 잘 되는지 직접 느껴봤기에 더욱 와닿았다.
다소 딱딱해보거이거나 한번에 흥미를 확 끌만한 디자인은 아니지만 그만큼 기본과 활용까지 많은 내용들을 빠짐없이 다루고 있었으며 많은 양의 예제 그림과 예제 코드를 통해서 공부하는 사람들에게 더욱 이해하기 쉽게 구성한 점이 매우 좋았다.
'이것이 자바다' 는 국내에서 유명한 자바 기본서 중 하나다. 개인적으로 여러 자바 기본서들 중에 가장 좋아하고 개정판이 나왔다는 소식에 서평 신청을 했다. 책은 크게 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를 통해 무료로 제공한다.
자바 프로그램은 자격시험 응시하기 위해 공부해 본것이 전부다. 그러니 당연히 아무리 어려워도 초중급 정도의(더 정확히는 초보) 난이도 정도만 겨우 이해할 수 있는 정도이다. 게다가 공부할 당시 사용하던 노트북에 자바 프로그램을 설치할 수 있는 상황이 아니다 보니 뭐니뭐니해도 프로그래밍은 실제로 실습해 보는 것이 가장 중요함에도 힘들게 손으로 써가며 공부할 수 밖에 없었다. 손으로 일일이 적어보는 그 자체도 힘이들고 귀찮긴 하지만 분명 도움이 된다. 하지만 코딩 길이가 길어지고 복잡해지거나 할 경우 그리고 프로그램에 따라 다르지만 소숫점 하나에 혹은 알파벳 대소문자 하나만 잘못 입력해도 오류가 발생하는 경우가 있다. 그래서 직접 실습해보는 것이 매우 중요하다.
(초보 입장에서) 배우는 사람에 따라 다르겠지만, 자바가 어렵지 않다고 말하는 경우를 꽤 많이 보고 들었던 것 같다. 물론 자격 시험 공부하며 수기로 적어보고 짤막한 강의를 찾아보며 풀었을 때 그 과정이 이해가 되면 그런것도 같지만, 막상 또 혼자 다시 해 보면 그렇지도 않은 것 같아 참 난감했었다. 그 때 봤던 자격 시험 중 특히 실기시험에서 코딩 과정에서의 괄호 문제나 결과값 계산 등의 문제가 꽤 많은 비중을 차지했었기 때문에 자바 책을 별도로 구매해서 공부해야 되나 싶기도 했지만, 어차피 실습할 수 있는 환경이 아니라 있는 자료와 책으로 마무리를 했었다.
[사진] 저자들이 운영하는 네이커 카페와 개정판 내용을 안내하고 있는 부분 (본책 p.xii~xiii)
>> 네이버 카페 https://cafe.naver.com/thisisjava
>> 본 책 개정판 내용과 활용법 소개 유튜브 영상 https://c11.kr/15le5
그래서 창피하기는 하지만, 이 책이 이렇게까지 유명한 줄은 몰랐다. 아직 한 페이지도 빠짐없이 꼼꼼하게 본 상황은 아니지만, 전부 소화할 수 있을까 걱정될 정도로 내용이 정말 풍부하다. 개인적으로 프로그램과 관련된 IT도서를 볼 때 설치 관련 안내 부분을 꽤 꼼꼼하게 보는 편이다. 앞서 말했듯 직접 프로그램을 설치해 볼 상황이 아니어서 난감했던 경험이 있어서였는지 이 책 역시 앞 부분에서 이 부분을 꼼꼼히 보았다. 조금 놀랐던 게(사용하는 노트북이 사양이 오래되어서 최근에 신경을 못 썼더니) 프로그램 설치 관련해서 아래 사진과 같이 운영체제별 뿐만 아니라 운영체제 중에서도 내장된 칩의 종류에 따른 설치 파일이나 방법에 대해 아주 자세하게 설명하고 있었다.
[사진] 운영체제별 그리고 칩의 종류에 따른 설치 안내까지 세세하게 하고 있다. (p.7)
이 책의 또다른 장점은 오류 부분에 대한 인정과 빠른 수정내용 그리고 저자와의 빠른 질의 응답에 있지 않나 싶다. 최근에 본 IT 관련 서적 중 코딩과 관련된 도서는 이 책이 처음이다. 대부분 오타 하면 글자 몇 개로 짧게 끝나는 데, 코딩 내용 일부까지 표시해야 해서 그런지 한빛미디어 홈페이지에 있는 이 책의 소개란 하단에 보면 '1쇄'의 오류(오타)와 수정된 내용이 꽤 많이 올라와있었다. 그리고 저자가 운영하는 네이버 카페에서도 이 부분에 대한 의사소통이 꽤 활발하게 되고 있었다. 특히 IT 관련 서적의 경우 어떤 도서의 경우 오류를 지적하거나 문제제기를 하면 의사소통을 아예 안하거나 운영중인 카페에서 강퇴당하는 경우까지도 보고 들은적이 있었다. 아니면 아예 무대응이어서 완전 초보자의 경우 확인할 길이 없어 답답하거나.. 그래서 이 부분에 대해 솔직히 오픈하고 소통하며 오류를 바로 잡고 이해안되는 부분에 대한 질의 응답이 활발하면 그 책 뿐만 아니라 저자를 매우 신뢰하게 된다.
이 책이 개정되면서 오래된 버전부터 가장 최근의 버전까지 모두 활용할 수 있도록 반영하고 있다. 레벨이 '초중급'으로 분류되어 있어서 처음부터 서두르지 않고 차근 차근 보면 완전 초보도 충분히 볼 수 있을 것 같다. 자바 제대로 공부하고 싶다면 이 책과 저자 한 번 믿고 선택해봐도 좋을 것 같다.