이지스퍼블리싱 출판사의 Do it! 점프 투 시리즈는 개인적으로 프로그래밍 언어를 배우려는 초심자들에게 강력하게 추천하는 시리즈이다. 처음 파이썬 공부도 점프 투 파이썬을 통해 독학했던 나로서는, 점프 투 자바 책이 나온다는 소식을 듣고 마침 자바를 공부해보고 싶었는데 감사한 기회로 서평단에 참여하게 되어 접할 수 있게 되었다.
참고로 아래 위키독스에서도 부록을 제외하고 무료로 내용을 볼 수 있다. (애초에 위키독스에서 점프 투 자바가 시작되었다고 한다..!!)
비록 나는 종이책을 더 선호하지만 책을 구매하기 전 간단히 내용이 궁금하거나 일단 e-book으로 빠르게 살펴보고 싶다면 아래 내용을 살펴봐도 좋을 것 같다 👍🏻
구성
책은 아래와 같이 구성되어 있다. 1~4장은 기초 내용이, 5~8장은 심화(?) 내용으로 다루어져 있다.
다른 언어를 통해 개발을 많이 해온 사람이라면 기초 내용은 필요한 부분만 간단히 훑고 뒷부분을 살펴보는 것도 좋을 것 같다.
자바 기초 익히기
사실 자바의 세계는 뭔가 막연하게 느껴지는 부분이 많았다. 특히 파일로 바로 실행되는 것도 아니고 새로 실행할 파일을 만들어야 하는 부분에서 너무나도 멀게만 느껴졌는데.. 이 책을 통해서 역시 기본서의 근본인 만큼 자바의 기본적인 특성부터 세세한 문법까지 체계적으로 쉽게 접근할 수 있었다. JDK의 설치 과정을 시작으로 개발 환경 설정, IDE의 선택과 활용법 등 초기 설정 과정에 대해 헷갈릴 수 있는 부분을 세부적으로 설명하고 있었다.
자바의 기본 데이터 타입부터 시작해서, 컬렉션 프레임워크, 제네릭 등의 중요한 개념을 차근차근 알려주며, 문자열 처리와 관련하여 StringBuffer와 StringBuilder의 차이와 활용법 등도 상세하게 다루어져 있었다. 또한, 중간마다 코드로 설명해주는 “코딩해 보세요” 섹션은 이론 설명이 실제 코드로 구현되어 있어서 체계적으로 학습할 수 있었다.
제어문 부분에서는 switch/case 문이랑 for each 문이 인상적이었다. 파이썬에는 없는 switch/case문과 for 문보다 배열 등을 기반으로 더 잘 다룰 수 있는 for each 문을 통해 좀 더 가독성있는 코드를 작성할 수 있다는 부분이 매력적으로 다가왔다.
자바 실력 키우기
먼저 객체 지향 프로그래밍에 대해 계산기 예제를 통해 확 와닿게 설명되어 있었다. 이후 클래스와 메소드, 상속, 오버라이딩, 인터페이스 등의 중요한 객체 지향적 요소들이 자세히 설명되어 있었다. 이런 기본적인 개념들을 넘어서, 자바의 고급 기능인 람다 표현식, 스트림 API, 예외 처리 등을 심층적으로 다루면서 앞에서 다룬 내용을 기반으로 좀 더 깊게 이해할 수 있었다.
이외에도 패키지와 모듈 시스템, 멀티스레딩, 네트워킹, 입출력 스트림 등 다양한 자바의 기능과 활용법을 상세하게 소개하고 있다. 특히 중간마다 나오는 팁들이 있는데, 이 부분들이 꼭 필요한 중요한 내용을 담고 있었다. 학창시절에 문제집에서도 옆에 나와있는 내용이 시험에 나왔듯이..😅 여기에서도 이런 부분들이 알고 있으면 도움이 될만한 꿀팁들이 많았다.
마지막 부록을 통해서는 면허 시험 15제라는 재밌는 제목으로 잘 이해했는지 점검해볼 수 있는 코딩테스트..까지는 아니지만 유사한 문제들을 풀어볼 수 있었고, chatgpt를 통해 공부하는 방법을 통해서는 자바 뿐만 아니라 다른 언어에도 접목시킬 수 있는 팁을 얻을 수 있었다.
총평
역시 명성답게 자바에 대해 빠르게 이해할 수 있는 컴팩트하게 핵심 내용을 담은 기본서였다. 자바에 대해서는 아무것도 모르고 책을 살펴봤는데, 덕분에 자바에 대한 두려움을 없앨 수 있었다. (본격적으로 코드를 짜고 작업을 하려면 더 살펴봐야겠지만..!)
다만, 책에서도 처음 프로그래밍을 배우는 사람에게 자바로 입문하는 것은 비추천한다고 적혀있듯이 어느 정도 1-2가지 언어를 할 줄 아는 개발자들에게 빠르게 자바를 익히기 위해 추천할 만한 책이다. 완전히 처음 프로그래밍을 시작하는 초심자에게는 파이썬 등 좀 더 이해하기 쉬운 언어부터 시작하는 것이 좋을 수도 있을 것 같다. 그래도 기초적인 내용부터 자세하게 다루고 있으므로 자바에 관심이 있었지만 처음 배워보려는 사람들에게는 적극 추천한다!😃
참고 자료
- 소스코드 자료 : https://github.com/pahkey/jump2java
- 저자에게 직접 질문하기 : https://pybo.kr/pybo/question/list/qna/