이 책은 프로그래밍 문제를 풀며 자연스럽게 자바를 배울 수 있는 초/중급 개발자를 위한 코드 중심의 자바 입문서입니다. 총 16개 장, 200개의 프로그램 문제와 1,115개 실전 문제로 구성되어 있습니다. 각 장에서 출제되는 코드를 작성해보며 개념을 익히고 직접 푼 코드를 응용해 완성도 있는 프로그램을 만들다 보면 어느덧 실력이 향상됩니다. 단순히 용어나 문법을 암기하는 데서 벗어나 다양한 문제를 통해 자바를 이해해봅시다.
<알쏭달쏭> 시리즈 소개
알쏭달쏭 시리즈는 프로그래밍 문제를 풀면서 자연스레 프로그래밍 언어를 익힐 수 있습니다. 실제 교육 현장에서 학습 효과가 검증된 예제를 책에 담았습니다. 각 장은 ‘프로그램 작성 문제’와 ‘실전 문제’로 나누어 다양한 문제를 접할 수 있도록 구성했습니다. 입문자도 쉽게 개념을 이해하고 활용하도록 난도를 점진적으로 높여 한 단계씩 발전할 수 있게 도와줍니다.
알쏭달쏭 C 언어 (출간 예정)
알쏭달쏭 파이썬 (출간 예정)
저자소개
저자
시바타 보요
규슈 대학 공학부 및 대학원 공학 연구과 수료 후 규슈 대학 조교, 국립특수교육 종합연구소 연구원으로 근무했으며, 후쿠오카 대학 정보공학부 부교수, 후쿠오카 태극권 연구회 회장 등을 역임한 공학 박사다. 대학에서 교육 연구 외에도 프로그래밍이나 무술, 건강 지도법 등 다양한 활동을 한다. 2017년에는 이 책과 같은 시리즈인 『알쏭달쏭 자바 200제』(한빛미디어, 2019)를 집필했다.
저자
유리 가오루
언어과학연구소의 주임연구원으로 『알쏭달쏭 자바 200제』의 공동 저자이다.
역자
김완섭
네덜란드 ITC에서 Geoinformation for Disaster Risk Management 석사 학위를 취득하고 약 9년간 일본과 한국의 기업에서 IT 및 GIS/LBS 분야 업무를 수행했다. 일본에서는 세콤 계열사인 파스코에서 일본 외무부, 국토지리정보원 같은 정부 기관을 대상으로 한 시스템 통합(SI) 업무를 담당했다. 이후 야후 재팬에서 야후 맵 개발 담당 시니어 엔지니어로 근무하다 한국으로 돌아와 SK에서 내비게이션 지도 데이터 담당 매니저로 일했다. 지금은 싱가포르에 있는 일본계 회사에서 은행 관련 IT 프로젝트를 담당하고 있으며 저자 및 역자로도 왕성히 활동 중이다. 저서로는 『나는 도쿄 롯폰기로 출근한다』가 있으며, 역서로는 『알고리즘 도감』, 『처음 만나는 HTML5 & CSS3』, 『인공지능 70』, 『처음 만나는 자바스크립트』, 『다양한 언어로 배우는 정규표현식』, 『그림으로 공부하는 IT 인프라 구조』, 『그림으로 공부하는 시스템 성능 구조』 등 40여종이 있다. 또한 블로그를 통해 IT 번역 관련 이야기와 싱가포르 직장 생활을 소개하고 있다.
이 책은 입문서임에도 프로그래밍과 자바를 모두 고르게 잘 다루고 있으며, 입문자뿐만 아니라 중급자도 쉽게 개념을 이해하고 활용하도록 난도를 점진적으로 높입니다. 특히, 딱딱한 설명보다는 실제 프로그램을 통해 개념을 설명하고 있어서 프로그래밍 방법을 이해하기 쉽게 구성하였습니다.
이 책의 특징
텍스트 출력부터 예외 처리까지 알차게 구성된 16개 장
- 프로그래밍을 하기 위해 알아야 하는 필수 내용을 하나하나 꼼꼼하게 수록하였습니다.
조금씩 난도를 높여가며 자바 프로그래밍을 알아가는 200개 문제
- 처음 프로그래밍을 배우는 입문자도 쉽게 따라 할 수 있게 실제 교육 현장에서 학습 효과가 검증된 예제로 구성하였습니다.
장별로 배운 내용을 정리하는 1,115개 실전 문제
- 각 장을 마무리하며 학습한 내용 중 핵심만 쏙쏙 뽑아 풀어보는 실전 문제 풀이입니다.
소스 프로그램의 활용
- 프로그램 문제(클래스)를 반복적으로 활용하고 사용해가며 객체 지향 프로그래밍을 학습한다.
기본서라는 것은 항상 지루하기 마련이다. 보기에 생소한 단어나 문법을 가지고 뭔가 알아듣지 못할 이야기를 해대는 기본서는 사실 두꺼우면 두꺼울 수록 한번을 끝까지 보기가 어렵고 끝까지 본다고 해도 내용이 머리속에 잘 남아있는 경우가 드물다. 그래서 보통 기본서를 추천 할 때 되도록 얇은 책을 한권 공부 하고 그 다음에 두꺼운 책을 보는 것을 추천 하곤 한다.
이 책에 대한 첫인상은 상당히 두껍다는 것이다. 그리고 알쏭달쏭 자바 200제 라는 타이틀을 보고 자바 퍼즐러 같은 책이라고 생각 했는데, 목차를 보니 완전히 기본서의 목차였다.
사족으로, 원제목을 찾아보니 “新 풀어가면서 배우는 자바” 라고 한다.
목차도 기본서고 사실 내용도 기본서다. 다만, 지루한 문법부터 소개 하는 것이 아니라, 각 장마다 풀어야할 큰 문제를 내고 문제 해결의 기본 소스코드를 보여주고 해당 내용에 대한 문법적인 설명을 한다.
예를 들자면 위와 같이 먼저 문제를 내고
아래에 코드를 쓰고
소스 설명이 필요한 부분에 대해서는 블록을 지정 하여 설명 한다.
소스 설명 부분에서 자바 문법에 관한 설명을 같이 하는데, 클래스 초기화 와 인스턴스 초기화가 1) 구문 해석도를 통하여 어떠한 형태를 지니는지 보여주고, 2) 언제 3) 왜 사용 되는지 자세하게 설명 한다.
설명에 관해서는 소스와 구문 해석도 그리고 필요에 따라서는 순서도 등을 사용하여 설명 하기 때문에 알아듣기가 쉽다.
다만 용어에 관해서는 어떤 책에서도 사실 그렇겠지만 영어 용어와 그걸 번역한 용어를 함께 사용하다 보니 약간은 혼란이 올 수도 있을 것 같다.
초보자에게 많이 친절하다고 느낀 부분은 javadoc 를 설명하는 부분이다. (책 541page)
기본적으로 javadoc을 만들기 위한 주석을 작성 할 때 방법은 대충 알고 있지만, 안의 각 상세설명들에 대한 자세한 내용을 일부러 찾아보지 않으면 알기 힘든데 (초보자에게는 더더욱이나) 해당 내용들에 대한 설명이 잘 적혀 있다.
- 서평 끝
워낙에 두꺼운 책이고 이런저런 사정상 통독을 하지는 못했지만
관심있는 몇몇 장을 발췌해서 읽으면서 의외로 모르고 있는 부분도 많이 알게 되었고 이미 사용은 하고 있었지만 왜 그렇게 사용해야 했는지에 대해서 잘 모르는 부분에 대해서도 알게 된것이 많았다.
우리나라에서 가장 많이 쓰이는 프로그래밍 언어를 생각하면 제일 먼저 자바가 떠오를 것이다. 그만큼 자바 학습에 필요한 책들도 시중에 나와 있다. 오늘 리뷰할 알쏭달쏭 자바 200제는 자바 언어를 학습하는 데에도 도움이 되지만 프로그래밍 적인 사고를 기르는데도 좋은 책이라고 생각한다. 일반적인 책들이 문법 하나 하나를 설명하는 식이었다면 이 책은 어떤 프로그램을 작성할 것인지 문제가 주어진다. 이 문제를 어떻게 풀지 고민하는 과정이 프로그래머에게 매우 중요하다고 생각되기 때문에 이러한 접근의 책이 프로그래밍 언어를 학습하는데 좋다고 생각한다. 소스코드에 대한 해설이 자세히 적혀있다. 이해가 되지 않는 부분도 곰곰히 몇번 읽으면서 생각하면 자연스럽게 채득 될 것이다. 한 챕터가 끝나면 실전문제가 나오는데 이 부분을 스스로 해결하는 것이 자바를 학습하는데 상당한 도움이 된다. 네트워크 프로그래밍 같은 고급 문법이 나오지 않는 것이 아쉬울 수 있다. 하지만 이 책을 통해 기초를 탄탄히 하고 이후 한단계 높은 단계의 책을 구매해 학습한다면 배움의 속도가 더 좋을 것이라 생각한다.
알쏭달쏭 자바 200제는 제목처럼 단계별 문제를 제시하고 해법 코드를 제시하고 코드에 대한 상세한 설명을 통해 프로그래밍 언어를 배우고 익히는 방식으로 구성되어 있다.
다른 자바 책과 같이 화면에 출력하는 것부터 시작해서 프로그램 흐름, 자료형, 클래스, 예외처리까지 총 16개 장으로 구성되어 있다. 각 장 마다 주제에 맞춰 단계별 문제가 제시되고 해당 문제에 대한 풀이과정과 해답 코드를 작성하고 이를 설명하고 있다.
요즈음 프로그래밍 언어나 개발 도서로 일본 저자의 책들이 많이 출간하고 있는데 알쏭달쏭 자바 200제도 저자가 일본인이다. 일본 저자의 책들의 특징은 다른 외국원서와 달리 텍스트 위주의 설명보다는 그림이나 도표들을 많이 활용한다.
이 책도 코드나 풀이과정 시 아래처럼 해당 내용에 맞게 그림이나 도표들을 활용하여 설명하고 있다.
내 경우에 그림이나 도표들을 활용하여 설명하는 방식이 텍스트로만 설명하는 것보다 이해하기 더 쉬웠다. 다른 사람들도 나와 같지 않을까 싶다. 물론 그림으로 인해 혼동을 초래하는 경우도 있지만 대부분 텍스트 위주의 설명보다는 일단 읽는데 부담스럽지 않고 그림이 먼저 눈에 들어와 내용을 이해하는데 더 집중할 수 있는 것 같다.
각 장별로 제시되는 문제는 장의 주제에 맞춰 단계별로 난이도 혹은 활용 문제들을 주어지고 이를 풀어가면서 자바 언어를 배울 수 있다. 그리고 해답 코드를 바로 제시하고 각 코드에 대한 설명과 출력(정답) 결과를 빠지지 않고 보여주고 있고 코드들을 실제 작성해 보니 오타나 오류 없이 정확하게 동작하였다.
그리고 각 장이 끝날때 마다 별도의 실전문제가 출제되어 있는데 해당 장에 나온 용어정의 혹은 코드에 대해 물어보고 이를 풀이하면서 배웠던 내용을 정리할 수 있다. 참고로 실전문제는 각 장별로 제시되면 총 1,115문제가 출제되고 있다. 프로그램 작성문제만 풀고 다음 장으로 넘어가지 말고 실전문제도 꼭 풀어보는것을 추천한다.
마무리하며 알쏭달쏭 자바 200제는 문제를 통해 언어를 배워나가는 방식으로 구성되어 있고 해답에 대해서는 상세한 풀이과정을 제공한다. 풀이방법도 그림과 도표들을 활용해서 보기 편하고 이해를 도왔다.
다만 제시되는 문제들이 입문자에 적합하게 쉬운 난이도로 되어 있어 좀 더 심화 문제를 제시하였으면 하는 아쉬움이 있다.
프로젝트를 하다보면 몇가지 언어만을 사용하다보니 가물가물 해지는 언어가 생기기 마련인데, 이때 입문서를 다시 뒤적거리기엔 내 돈과 내 시간이 너무 아깝다 ! 문제를 풀면서 하나의 언어를 배우는 것은 언어 뿐만 아니라 프로그래밍 방법론까지 한꺼번에 익힐 수 있는 매우 좋은 학습 방법이라고 생각하는데 이 책에 수록되어 있는 여러 문제들을 통해 하나의 기본 개념으로 비슷한 문제를 반복해서 푸는 일련의 과정에서 기초 자바 지식을 활용한 프로그래밍의 기반을 형성 할 수 있을 것이라고 본다. 뒤쪽으로 넘어갈수록 프로그래밍을 전공한 전공자 조차도 고민을 해야 풀 수 있는 문제들이 수록 되어있으며, 이런 개념이 있었지 ! 하며 다시한번 예전 기억을 되짚어 볼 수 있는 경험은 보너스. 당신에게 붙어있는 JAVA 초급자 딱지를 멋지게 떼어줄 녀석이라고 자신있게 말 할 수 있다.