메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

혼자 공부하는 자바

JAVA 8 & 11 지원/무료 동영상 강의 제공

한빛미디어

집필서

절판

  • 저자 : 신용권
  • 출간 : 2019-06-10
  • 페이지 : 708 쪽
  • ISBN : 9791162241875
  • 물류코드 :10187
  • 개정판정보 :개정판이 새로 출간되었습니다. 개정판 보기
  • 초급 초중급 중급 중고급 고급
4.9점 (35명)
좋아요 : 51

혼자 해도 충분하다! 1:1 과외하듯 배우는 자바 프로그래밍 자습서 (JAVA 8 &11 지원) 

이 책은 독학으로 자바를 배우는 입문자가 ‘꼭 필요한 내용을 제대로’ 학습할 수 있도록 구성했다. ‘무엇을’ ‘어떻게’ 학습해야 할지 조차 모르는 입문자의 막연한 마음을 살펴, 과외 선생님이 알려주듯 친절하게, 그러나 핵심적인 내용만 콕콕 집어준다. 책의 첫 페이지를 펼쳐서 마지막 페이지를 덮을 때까지, 혼자서도 충분히 자바를 배울 수 있다는 자신감과 확신이 계속될 것이다!

 

20명의 베타리더 검증으로, ‘함께 만든’ 입문자 맞춤형 도서

20명의 베타리더와 함께 구성하여 입문자에게 맞는 난이도, 분량, 학습 요소 등을 적극 반영했다. 어려운 용어와 개념은 한번 더 풀어 쓰고, 복잡한 설명은 눈에 잘 들어오는 그림으로 풀어 냈다. ‘혼자 공부해본’ 여러 입문자의 초심과 눈높이가 책 곳곳에 반영된 것이 이 책의 가장 큰 장점이다.

 

 

어떤 독자를 위한 책인가?

  • 학부 강의를 수강했지만, 자바에 여전히 아쉬움이 있는 전공자
  • 학원이나 과외로 따로 자바를 배우기에는 시간과 여건이 부족한 현직 개발자
  • 자바 프로그래밍에 관심이 있는 일반인 누구나

 

이 책의 특징

 

하나,  ‘입문자 맞춤형 7단계 구성’을 따라가며 체계적으로 반복 학습한다 

이 책은 자바의 핵심 내용을 7단계에 걸쳐 반복 학습하면서 자연스럽게 머릿속에 기억되도록 구성했다. 모든 절에서 [핵심 키워드]와 [시작하기 전에]를 통해 각 절의 주제에 대한 대표 개념을 워밍업한 후, 본격적인 자바 핵심 이론과 실습을 거쳐 마무리에서는 [핵심 포인트]와 [확인 문제]로 한번에 복습한다. ‘혼자 공부할 수 있는’ 커리큘럼을 그대로 믿고 끝까지 따라가다 보면 프로그래밍 공부가 난생 처음인 자바 입문자도 무리 없이 책을 끝까지 마칠 수 있다!  

 

둘, 핵심 문법은 ‘눈코딩’으로 가볍게 익히고, 실전 감각은 245개 직접 해보는 ‘손코딩’으로 제대로 익힌다

핵심 문법과 이론적 설명은 두 눈과 머리로 술술 읽으며 넘어가고, 자바 코딩의 실전 감각은 직접 해보며 익히도록 245개의 엄선된 실습 예제를 담았다. 반복 학습과 연습이 가장 필수적인 입문자도, 실전형 코드로 연습하면서 책에 담긴 코드를 ‘나의 코드’로 만들 수 있다.

 

셋, ‘혼공’의 힘을 실어줄 동영상 강의, 학습 사이트 지원

http://hongong.hanbit.co.kr

책으로만 학습하기엔 여전히 어려운 입문자를 위해 저자 직강 동영상도 지원한다. 또 학습을 하며 궁금한 사항은 언제든 질문할 수 있도록 학습 사이트를 제공한다. 저자가 질문 하나하나 직접 답변을 달아주고 있으며, 자바 관련 최신 기술과 정보도 공유한다. 아울러 혼자 공부하는 그 길에 함께 공부하기를 원하는 사람들의 모임인 혼공 학습단을 운영하여 마지막까지 포기하지 않고 독자가 완주할 수 있도록 최대한 지원하고 있다

 

넷, 언제 어디서든 가볍게 볼 수 있는 혼공 필수 [용어 노트] 제공

꼭 기억해야 할 핵심 개념과 용어만 따로 정리한 [용어 노트]를 제공한다. 처음 하는 사람들에게 프로그래밍 공부가 어려운 이유는 낯선 용어 때문이라는 것을 베타 리더를 통해 확인했고, 어려운 것이 아니라 익숙하지 않아서 헷갈리는 것이므로 잘 생각나지 않을 때는 언제든 부담 없이 펼쳐보자. 제시된 용어 외에도 새로운 용어를 추가하면서 자신만의 용어 노트를 완성해가는 것도 또 다른 재미가 될 것이다.

 

03-3_상세페이지_750.jpg

 

신용권 저자

신용권

25년 동안 시스템 제어 및 애플리케이션 개발자로 활동한 베테랑 개발자이자, IT 전문 교육자이기도 하다. 메카트로닉스를 전공했으며, 삼성항공 시스템 설계 파트에서 하드웨어 제어용 소프트웨어 개발을 담당했다. 유수한 교육기관에서 재직자 및 전문가 위탁교육을 진행해 왔으며, 현재는 한국소프트웨어산업협회에서 교수로 근무하고 있다. 주로 오픈 소스 프레임워크, 안드로이드, IoT, 스택 애플리케이션 분야에서 현업 재직자 및 채용 예정자를 위한 소프트웨어 역량 강화 사업의 강사로 활동하고 있다.

 

CHAPTER 1 자바 시작하기 

01-1 프로그래밍 언어와 자바  

01-2 이클립스 개발 환경 구축

01-3 자바 프로그램 개발 과정 

 

CHAPTER 2 변수와 타입

02-1 변수

02-2 기본 타입

02-3 타입 변환

02-4 변수와 시스템 입출력

 

CHAPTER 3 연산자

03-1 연산자와 연산식

03-2 연산자의 종류

 

CHAPTER 4 조건문과 반복문

04-1 조건문: if문, switch문

04-2 반복문: for문, while문, do-while문

 

CHAPTER 5 참조 타입

05-1 참조 타입과 참조 변수

05-2 배열

05-3 열거 타입

 

CHAPTER 6 클래스

06-1 객체 지향 프로그래밍

06-2 필드

06-3 생성자

06-4 메소드

06-5 인스턴스 멤버와 정적 멤버

06-6 패키지와 접근 제한자

 

CHAPTER 7 상속

07-1 상속

07-2 타입 변환과 다형성

07-3 추상 클래스

 

CHAPTER 8 인터페이스

08-1 인터페이스

08-2 타입 변환과 다형성

 

CHAPTER 9 중첩 클래스와 중첩 인터페이스

09-1 중첩 클래스와 중첩 인터페이스 소개

09-2 익명 객체

 

CHAPTER 10 예외 처리

10-1 예외 클래스

10-2 예외 처리

 

CHAPTER 11 기본 API 클래스

11-1 java.lang 패키지

11-2 java.util 패키지

 

CHAPTER 12 스레드

12-1 멀티 스레드

12-2 스레드 제어

 

CHAPTER 13 컬렉션 프레임워크

13-1 컬렉션 프레임워크

13-2 LIFO와 FIFO 컬렉션

 

CHAPTER 14 입출력 스트림

14-1 입출력 스트림

14-2 보조 스트림

14-3 입출력 관련 API

 

혼자 공부하는 자바를 선택한 이유 

 

감사하게 지원받았습니다.! 

 

그래서 해당 리뷰는 출판사 한빛미디어로부터 도서 <혼자 공부하는 자바>를 지원받아 작성되었습니다. 

 

제가 이번에 자바 학습 동아리를 하게 되었는데요. 팀원들과 함께 공부할 책을 고르다가 출판사에 요청하여 도서를 지원받게 되었습니다. 

저희 동아리는 비전공자분들과 전공자가 모여 java 언어를 학습하는 것을 목적으로 하고 있습니다. 그래서 책의 수준이 중요했는데요. 감사하게도 혼자 공부가 가능한 수준의 책을 지원받았습니다. 

 

 

KakaoTalk_20220428_164723758_07.jpg

 

 

<혼자 공부하는 자바> 구성 

 

 

0.jpg

 

KakaoTalk_20220428_164723758.jpg

 

 

혼자 공부하면서 볼펜으로 끄적인 흔적입니다 

 

 

KakaoTalk_20220428_164723758_01.jpg

 

 

눈에 띄게 읽고 싶은 부분에 형광펜을 칠해보았답니다 

 

 

KakaoTalk_20220428_164723758_02.jpg

 

KakaoTalk_20220428_164723758_03.jpg

 

 

이렇게 깔끔한 그림으로 쉽게 이해할 수 있도록 구성되어있네요! 

 

 

KakaoTalk_20220428_164723758_04.jpg

 

KakaoTalk_20220428_164723758_05.jpg

 

KakaoTalk_20220428_164723758_06.jpg

 

 

페이지를 좀 넘기니 손으로 직접 코딩해볼 수 있는 소스코드가 나와있네요! 게다가 홈페이지에서 소스코드를 다운로드 받아서 이용할 수 있더라고요! 여러분도 손코딩 귀찮으시다면 다운로드 추천드립니다~! 

 

혼자 공부하는 모습 

 

 

짤1.gif

 

짤2.gif

 

 

짤이 제대로 작동해서 아주 기쁘네요ㅎㅎ 혼자서도 열공해보았습니다! 

 

저자 직강 동영상 강의와 운영 카페 참고하는 알찬 혼공! 

 

한빛미디어 출판사가 특히 잘하는 게 부가 서비스라고 생각합니다! 출판하는 책마다 부가서비스가 잘 되어있는데요. 이번 혼공 시리즈에서는 혼자서도 잘 공부할 수 있도록 저자님이 직접 운영하시는 카페에서 궁금한 점을 다른 독자분들이나 저자님과 질의응답을 할 수 있고요! 들어가서보니까 학습 진도표도 짜주셨더라고요!! 

 

게다가 직접 동영상 강의도 촬영하셔서 다 무료로 이용할 수 있다고 하니, 여러분도 알찬 공부하실 때 참고해보세요~! 

이 책은 분량도 일반 다른 자바책들 보다는 보기가 편한 분량입니다.

 

내용은 Java 11SE 에 맞게 저술되어 있고, 기존 Java 8 SE 사용자들도 예제를 실행하는데 아무 문제가 없습니다.

 

최신 기술(11SE) 내용과 라이브러리 예제도 들어 있습니다.

 

그림으로도 잘 설명되어 있으며, 예제 코드도 이해가 쉽도록 잘 구성되어 있고, 설명도 쉽게 잘 되어 있습니다.

 

이것이 JAVA 다. 의 많은 분량을 보기 어려운 분들은 이 책도 좋은 책입니다.

 

혼자공부하는자바.jpg

 

자바는 익숙하게 많이 듣는 단어다. 컴퓨터 용어로 주로 기계어 종류다. 컴퓨터가 쓰는 언어는 0과1로 이루어진 것으로 사람이 이해하기 어렵다. 그래서 이해하기 쉬운 기계어가 필요하다. 그 중 하나가 java 라는 언어다. 주로 웹상 애플리케이션 구축할 때 쓰는 언어다. 장점으로는 모든 운영체제에서 실행 가능하며, 객체(부품)들을 연결하여 더 큰 프로그램을 실행가능하도록 하며(객체지향프로그래밍), 메모리 자동 정리기능으로 관리의 수고를 덜고, 무료로 사용가능한 오픈 소스 라이브러리가 풍부하여 개발기간을 단축시킬 수 있다. 그리고 에디터 프로그램으로 이클립스를 추천하는데 오픈소스통합개발환경 툴로 프로젝트 생성, 자동코드완성, 디버깅 등과 같은 기능을 통합적으로 제공한다. 초급-고급 개발자까지 광범위하게 사용하며 현재 기업체에서 가장 많이 사용한다. 변수를 지정해야 값을 메모리에 저장할 수 있다. 정수,char, string, 실수, boolean타입이 있다. 상황에 맞게 지정하면 된다. 출력, 입력값을 배울 수 있다. 각종 연산 기호를 이용할 수 있다. 조건식, 반복문을 이용한 알고리즘 작성법, 상기에 언급한 타입은 기본타입이고 이외는 참조타입이라 부르며 기본타입은 값 자체가 저장되고 참조타입은 값의 번지를 생성하여 번지를 저장하는 차이점이 있다. 객체를 만들 때 설계도를 클래스라고 하고 저장시 클래스 변수를이용 번지로 저장하며 멤버로 필드, 생성자, 메소드가 있다. 필드는 객체 상태 정보를 저장하는 곳이고 생성자는 클래스의 연산을 위한 블록이며 메소드는 객체의 동작을 위한 블록이다. 프로그램을 위해 작성된 수많은 클래스를 체계적으로 관리할 필요가 있는데 그것을 패키지라고 한다. 인터페이스는 객체의 사용방법을 정의한 것이다. 상속과 다형성을 구현할 때 사용한다. 기본적인 클래스를 담고 있는 패키지인 java.lang패키지와 java.util패키지 사용법도 소개한다. 데이터를 입력하여 원하는 값을 도출하도록 도와주는 것을 스트림이라하고 다양한 쓰임의 스트림을 알려 준다. 이외에도 내부적으로 각 분야별 약간씩 다른 용어에 대해 장단점 및 주의점 등을 상세히 설명한다. 그리고 카테고리별 사용 예시를 제공하고 마무리 단원에서 요약 설명하고 잘 이해하였는지 문제를 풀어볼 수 있다. 아쉬운 점은 마무리 단원에서 각 요소별 설명과 함께 어떨 때 활용할 수 있고 사용되는지에 대해 현실적인 예시를 적게 나마 열거하였다면 좀 더 구체적으로 기계어에 대해 체감할 수 있지 않았나 싶다. 하지만 분야별 세부내용에는 자세한 설명과 더불어 기업에서 쓰인 예시들이 종종 제시되어 있다. 난해하지만 프로그램을 만들어야 한다면 이 책을 통해 자바라는 기계어를 전반적으로 이해하는 데 많은 도움이 될 듯하다.

혼자 공부하는 자바의 저자인 신용권님은 <이것이 자바다>(2015, 한빛미디어)의 저자이며, 현재 자바 강사로 활동하고 계셔서 자바를 배우는 이들의 궁금하고 어려워하는 것들을 꼭 집어 쉽게 풀어주고 있다.

혼공자는 총 14장으로 구성되어 있다.
자바의 소개와 설치부터 클래스, 예외처리, 쓰레드와 입출력 스트림까지 자바언어의 전반의 걸쳐 배울 수 있다.
각 장은 총 7단계 구성되어 있어 각 기술에 대한 소개와 이론부터 예제프로그램을 직접 코딩해보고 실행 결과를 직접 확인할 수 있다. 그리고 해당 기술에 대한 핵심 내용과 키워드를 통해 정리해보고 마지막으로 문제를 통해 각 장에서 배운 내용을 다시 확인할 수 있다.


본격적으로 책 내용과 구성을 살펴보자.
이제 처음 자바를 배우는 이들도 따라하고 이해할 수 있도록 상세한 설명과 함께 그림과 표를 함께 제공하고 있다.
각 그림은 첨삭형태로 꼼꼼히 설명을 곁들이고 있어서 그림만 봐도 배울 내용을 이해할 수 있다.



그리고 직접 코딩을 할 수 있도록 다양한 예제 프로그램과 해당 프로그램의 실행결과를 함께 제공하고 있다. 그리고 프로그램의 소스에 대한 첨삭과 상세한 설명이 있어 쉽게 따라 해 보고 결과를 직접 확인해보면서 차이와 동작방법을 경험할 수 있다.​


그리고 배운 내용을 키워드로 정리해보고, 문제를 통해 다시 한번 되짚어 볼 수 있다.


마지막으로 혼자공의 또 하나의 선물은 <혼공 용어 노트>를 별책으로 제공하고 있다. 혼공 용어 노트는 용어에 대한 설명 집이라 보면 된다. 노트 형태로 구성되어 가지고 다니거나 책상에 두고 필요시 찾아보며 활용하면 좋을 것 같다. 혼공 용어 노트는 한빛미디어 사이트에서도 다운로드할 수 있다.

보너스 하나 더 유튜브에 혼자 공부하는 자바의 강의 동영상이 공개되어다.

https://www.youtube.com/playlist?list=PLVsNizTWUw7HZTPU3GpS7nmshXjKKvlbk

 

혼자 공부하는 자바 - YouTube

[혼자 공부하는 자바]는 [이것이 자바다] 콘텐츠를 기반으로 기획된 도서입니다. 동영상 강의 50만 조회수를 기록하는 동안 독자님들로 부터 받은 피드백을 반영하여 콘텐츠를 강화하고, 학습 방법과 구성을 강화 하였습니다. ✔ '혼자 공부하는 자바' 커뮤니티  ► 둘러보기: http:...

www.youtube.com

책을 보면서 궁금했던 내용이나 이해가 잘 안되었던 부분은 영상을 통해 다시 한번 배울 수 있다.

끝으로 혼자 공부하는 자바는 저자의 내공이 느껴진다. 책을 읽어보니 강사가 옆에서 꼼꼼히 설명해주고 첨삭해주는 느낌을 받았다. 그리고 궁금한 내용을 체크해주고 정리를 해주는 것이 저자의 다년간의 강의 노하우와 세심함을 알 수 있었다. 처음 자바를 배우거나 자바를 혼자 공부하고자 하는 이들에게 적극 추천한다.

 

혼자 공부하는 자바

 

최근 한빛에서는 혼자 공부하는 ㅁ ㅁ ㅁ 시리즈를 만들어 내고 있는 듯 하다.다음 시리즈 작품은 어떤 것이 기획되어 있는지 알 수 없으나, 현재 시중에 나온 책들 중드디어 마지막으로 만나볼 책은 어쩌면 나의 컴퓨터 모국어라고 할 수 있는 JAVA 되시겠다. 전공이라고 할 수도 있겠으니 이 글을 읽게 될 예비 독자들에게 도움이 될 수 있는 글을 적어보려고 한다.

 

KakaoTalk_20190919_200412609.jpg

 

 

우선 가장 먼저 알고 가야하는 부분이, 이 책의 저자는 신용권님이다. 믿고 보는 저자라는 말이다. 이분과 일면식도 없지만, 많은 책들로 학습을 도와 주신 분임에는 확실하니, 여러분의 책장에도다시 한 번 살펴보자. 이 분이 쓰신 책 한 두권쯤은 갖고 있을 것이다. 사람들에게 도움이 되는 책은 오래도록 기억에 남고 책장에 자리를 차지하기 마련임에 충분히 증명 되었다 본다.

 

하물며, 지금까지 많이 보아온 수 많은 자바 책들 중에 필자도 초보시절에 이해가 잘 안되던 어려운 개념을 설명하는 부분은 부실하기 짝이 없었다. 초보 시절에는 개념 자체가익숙치 않아서 그 설명이 잘 만들어져 이해를 돕는 설명인지, 아니면 설명이 난해하여 오히려 더 어려운개념으로 혼돈만 준 것이 아닌지 알 수 없는데, 이 책은 설사 본인이 이해가 어렵다고 느끼는 부분이나오게 되더라도 무료 동영상 강좌를 통해서 후방지원을 철저하게 한다.

 

다만 조금 아쉬운 부분은 이제 2009 년이 아닌 2019년인데, 여느 책처럼 이클립스로 시작되어 끝나는 것은 아쉬운부분이다. 인텔리제이라는 정말 훌륭한 툴에 대해서도 언급하고 함께 병기 혹은 간단한 안내 정도만 해줬어도하는 아쉬움은 있다. 10년 동안 이클립스만 사용할 줄 알았던 필자조차 이제는 인텔리제이를 쓰고, 더 많은 사람이 인텔리제이를 쓸 수 있게 유투브 채널(sangdo computer)를 열어 인텔리제이 사용법을 입에 침이 마르도록 칭찬하면서 소개하고 있으니 관심 있으신 분은 꼭 한 번 찾아서 사용해보길 바래본다. 최근에는 구글조차 이클립스를 버리고 안드로이스 스튜디오 ( 인텔리제이기반 ) 로 개발툴을 바꾸었으니 말이다.

 

어쩌면 자바 기본서의 한계일 수도 있겠다. 물론 자바를 처음 배우는사람이 보는 책이니 어쩔 수 없지만, 그럼에도 불구하고 이 책은 정말 양이 많다. 자바를 아는 사람이 볼 때는 인터페이스까지 달려오는데, 이렇게 많은페이지가 필요했는가??? 하는 의문이 들 정도다. 그러나책을 쭉 읽어보니 생각이 달라졌다. 책 보고 혼자 끙끙대던 지난 시간들이 억울해질만큼 이 책은 독자가제대로 이해할 때까지 이해시키겠다는 의지가 들어있는 것처럼 독자가 해야 될 숙제(?)가 많다. 그냥 가벼운 책은 아니라는 말이다. 이 책을 보고 실습을 하고 나서도이해가 안 되요라는 말을 할 수 없을 정도로 보인다. 종이 두꺼운 일반 책이라고 보면 안되고 작지만 정말 단단하게 700 장이조금 못된다. 부록을 포함하면 가볍게 700 을 넘겠다.

 

최근 나오는 자바 책이기에 모던 자바 부분이 당연히 녹아 들어 있어야 했을 것!! 사실 늙은(?) 개발자들은 잘 알려고 하지 않는 부분이기도 한데, 아주 만족스럽진 않지만 최신의 자바 11 버전까지 담아냈고, 몇 일 전에 12 버전이 나왔지만 이는 책을 쓸 때는 아니었을 테니너무 뭐라하지 말자.

다 좋은데, 아쉬운 것은 유투브 동영상 강의의 녹음 상태이다. 강의 내용은 평가를 한다는 것 자체가 무례할 수 있을 정도로 훌륭하나, 노이즈가계속 낀 상태로 소리가 나니 일반 스피커로 들어도 힘들고, 이어폰으로 듣고 있어도 힘들 지경이다. 굉장히 아쉽고, 꾸준한 학습이 이루어지기 힘들다고 판단된다. 다시 녹음한 다는 것도 말이 안될 것이고 오디오 음향 기술자 분의 도움을 받아서 조절을 할 수 있었다면 어떠할까싶은 아쉬움이 크다.

 

선배, 자바 책 추천 좀 해주세요.하면. “혼공자 ~~~” 라고 하기엔 아직 대표명사급이 아니겠지만 차차 그렇게 될 수 있기를 바라고, 다음 리뷰는 프로그래밍을 완성하는 과정에 절대 빠트릴수 없는 테스트에 관련된 책으로 예정되어 있다. 한 가지 직업을 갖고 10 년이라는 시간을 이어왔다는 이유로, 좋은 책을 읽어보라며 아직 잉크냄새도 마르지 않은 책들을 기꺼이 보내주는 분들에게 다시금 감사의 마음을 전한다. 언젠가 나도 이 직업 혹은 이 직업을 꿈꾸는 사람들에게 힘이 될 책을 적어 보는 것을 생각해보는 가을 밤이다.

 

4차 산업혁명으로 인해 빅데이터, 인공지능 등 많은 기술들이 각광을 받고 있다.
이런 기술들을 구현하기 위해서는 프로그래밍이 필요하다.
맣은 프로그래밍 언어가 있지만, 우리나라에서 그중 원픽을 꼽자면 단연 자바라고 할 수 있다.
 

java.jpg

 

 
서점에 가면 자바와 관련된 수많은 책이 있다.
그럼, 왜 꼭 이 책이어야 하는가?
많은 이유가 있지만, 가장 중요한 것은 철저히 '초보자'의 관점에서 쉽게 이해할 수 있도록 쓰여졌다는 것이다.
 
이 책의 저자는 학원에서 20년간 강의를 하였다.
그 경험에서 나온 학습 노하우를 이 책에 담았다.
단지 자바에 대한 문법만 담은 책이라면 다른 책들도 많이 있다.
차이점은 초보자가 꼭 알아야 할 것이 무엇이고, 중요한 것이 무엇인지를 알고 있기에 그것을 제대로 알려주고 있다는 것이다.
 
각 장의 마지막에는 '마무리'가 있고, 중요한 것에 대해서는 '확인 문제'를 두어 다시 한번 스스로 코딩해 보도록 하고 있다.
 
책 제목이 '혼자 공부하는 자바'이다.
하지만 결코 혼자가 아니다. 많은 곳에서 도움을 받을 수 있다.
이 책, 한 권으로 자바에 대해 모든 것을 알 수는 없지만, 무엇을 더 공부해야 하는지, 어떻게 해야 하는지도 알 수 있다.
단지 책만 제공하는 것이 아니라 함께 공부하는 공간(?)도 제공한다는 것이다.
바로 '혼공' 사이트이다.
저자의 동영상 강의도 있고, 혼자 하면서도 여럿이 함께 하는 커뮤니티가 있다.
특이하게 '혼공 학습단'이 있어서 자칫 혼자 공부하면서 쉬이 지칠 수 있는 것을 방지하고, 공부하면서 점점 더 나아가는 기분을 함께 느낄 수 있도록 하였다.
 
자바가 인기가 있는만큼 쉽게 마스터할 수 있는 언어도 아니다.
그렇지만 이 책으로 그 시작을 함께 한다면 훨씬 더 쉽게 접근할 수 있을 것이다.

 

이번에 소개할 책

 

인트로

점점 코딩 공부가 필수화 되고 있는 시대, 우리는 적어도 하나의 프로그래밍 언어를 습득하려고 노력하고 있다. 보통 C나 JAVA를 처음으로 시작할텐데 시작하자마자 어렵게 다가와서 포기했던 경험이 한번쯤은 있을 것이다. 이 책은 혼자공부하는 것을 모토로 독자들에게 좀 더 쉽게 다가오고 혼자서도 충분히 할 수 있다는 느낌을 준다. 과연 JAVA 이책으로 혼자 완벽하게 할 수 있을까?

 

 

메인 내용

전체적으로 흐름은 다른 JAVA와 다른 게 없지만 이 책에는 따라하는 손코딩으로 직접 어떻게 코딩하는지 배울수 있는 코너가 있다. 처음에 시작할때는 코드 1줄도 못적고 포기하는 경우가 많은데 이렇게 따라하면서 공부할 수 있다는게 정말 좋다고 생각했다. 그리고 마지막에는 심화적인 내용으로 마무리하는데 꽤나 좋은 내용과 구성으로 점점 실력이 향상되는 느낌도 받을 수 있다.

 

 

나의 생각

JAVA의 가장 어려운 점이라고 한다면 개인적으로 클래스 부분이라고 생각한다. 처음에 초심자들은 이해하기도 힘들고 구현도 힘들 것이다. 하지만 이 책은 기본적으로 컴퓨터로 하는 것보다 손코딩을 지향하면서 좀 더 자립적으로 공부할 수 있게 도와주었다. 솔직히 이 책 한권으로 JAVA를 오나벽하게 이해할것이라고 생각하지 못했는데 컴팩트하고 알찬 구성으로 초심자들에게도 친근하게 다가 올 수 있는 좋은 책인 것 같다.

 

 

 

마무리

코딩 공부는 해야하는데 마땅히 어떤 책으로 시작해야할지도 모르겠고 JAVA를 하려고 마음잡으신분들에게는 혼자공부하기 정말 좋은 책! 강추합니다

 

**이 책은 한빛미디어로부터 지원받아 작성된 서평입니다.**

시간이 흘러도 변하지 않는것이 있다.

 

분명 뭔가 많이 변했는데도 변하지 않는것,

그건 바로 '입문자'가 언제 어디서나 존재한다는 것...!

 

한참 4차 산업혁명이다 뭐다 해서 남녀노소, 이과, 문과 할거 없이 다들 뛰어드는

블루오션을 알아 보고 한빛미디어가 손을 뻗은것이다!

 

이 책이 등장하기 전까지 나는 이지스퍼xx싱의 Do xx 시리즈가 입문자에게는

가장 알맞는 책이 아닐까 생각했지만, 이젠 자신있게 입문자 추천용으로

"혼공시리즈도 있다구욧!!" 하고 말해도 될 것 같다.

 

 

그도 그럴것이 이 책의 제목을 보라

"혼자 공부하는"

 

캬... 무려 7년전 군 제대 후 공부해보겠다고 이책 저책 다 뒤져봤지만

할줄 아는거라곤 한글 읽는것과 게임하는것 두가지 뿐이었던 내게 이 책이 있었다면

지금보다 더 나아질수 있었을까?

 

라는 아쉬움과 잡담은 뒤로하고 리뷰를 시작한다.

 

이 책의 구성은 아래와 같다

입문자용 책을 볼 때 마다 느끼는거지만,

참 문제집 같은 느낌을 버릴 수 없다는게 아쉽다.

 

이 책은 입문자용이라는 것에 충실하게

'자바란 무엇인가'를 알려주는 자바 시작하기와

프로그래밍 언어의 기초중의 기초, 기본인 변수와 타입, 연산자, 조건문 등으로 챕터를 시작한다.

 

각 챕터 마지막에 등장하는 정리와 확인문제(퀴즈가 빠질수는 없지~~)

자바 실행코드와 실행결과

이게 뭐지? 싶을때 한번씩 보이는 여기서 잠깐! 팁들! (팁보고 가실게요~)

독자들이 글에 지칠때쯤 등장하는 오아시스같은 그림들!

위와같이 책의 내용이 구성되어 있으며 마지막에 빠지면 섭섭한 이것!

 

부록으로 정리 책자가 들어있다

뭔가 시x공 같은 문제집 보는것 같아서 속이 좀 메스껍지만

한번씩 들여다보면 정말 도움이 될만한 것이다..!

 

 

 

입문자용 챕터를 훌쩍 건너뛰어 내가 가장 관심을 갖는것은 아래쪽에 위치한 챕터였다.

 

요즘 가장 관심을 갖고 보고 있는 "예외처리"

구성하긴 귀찮지만 일단 해놓고 나면 정말 편하게 사용 가능하다.

[사용자의 사용패턴을 예측하거나, 기본적인 에러를 예외처리 해놓는다면

에러와 만나는 일도 적어지고 내 일도 줄어들겠지!]

 

라고 생각하면 된다.

(일이 줄어든다고!!)

 

프로그래밍을 한다면 가장 많이 접하게 될 NullPointerException부터

처음보는 에러들까지 의외로 자세하게 나와있어서 놀랐다.

 

입문자용에 이정도까지(?) 라고 생각했는데

 

생각해보니 이건 "혼자 공부하는" 이었다.

입문자용이면서 초,중,고 급 한번씩 둘러보고 끄덕끄덕 할 수 있게 해주는 책인 것이다!

책 소개에서 빠지면 섭한 저자와의 인터뷰가 실려있다.

"우리나라에서 자바만 알면 먹고사는데는 지장없다"라는 우스개 소리는 사실 아직 먹힌다.

언젠가는 "자바 x명이요~" 하면서 일용직을 구할날이 올지도...?!(인공지능 때문에 안오려나?)

 

뭐, 하여튼간 "혼자 공부하는" 이라는 이름값은 톡톡히 하는것 같다.

필요할때 한번씩 꺼내보고, 정리 부록책으로 들고다니면서 보고 독자들에게 친절하게 다가온다.

 

혼공 시리즈는 이걸로 두개째다.

하도 광고를 하길래 어떤 구성인지 궁금해서 혼자공부하는 파이썬을 사놓고 읽을책이 많아 아직 읽진 않았다.

 

자바가 이정도 퀄리티라면, 파이썬을 잘 모르는 나같은 사람에겐

"혼자 공부하는 파이썬"이 정말 도움이 될것 같으니 제대로 완독 해 보아야겠다.

IMG_3168.jpg

기본을 철저하게 알려줌. 클래스마다 필요한 개념, 그림으로 설명으로 잘 해놨음.

단원 끝나고 핵심포인트랑 문제가 있어 개념 확인에 도움이 되었음.

설명이 장황하지 않고 깔끔하고, 예제 역시 간단한 예제로 이해가 잘 됨.

코드만 써놓는 책이랑 다름.

제일 설명 잘해놓은건 14장에 입출력 스트림인거 같음. 이해가 확실하게 됨.

자바 입출력 API는 다른 부분과 달리 모르면 헷갈리고 어려운 부분인데, 설명을 완벽하게 해놨음.

IMG_3834.jpg

 

나처럼 학원을 다니지 않고 혼자 공부하는 사람들을 위해 나온 책이 있다.

이름하야 혼자공부하는 시리즈. 그중에서 요새 내가 제일 관심있는 자바를 배울 수 있는 ‘혼자 공부하는 자바’를 읽어보았다.

보통의 자바 입문서가 단순히 문법을 설명하는 것이었다면 이 책은 단계별로 어떤 것을 배우고 핵심은 무엇인지, 더 알아야 할 것들은 무엇인지 친절하게 알려준다. 직접 해보는 손코딩에 자바 소스코드가 있는데 어렵지 않게 적당한 길이의 예제로 채워져 학습자의 열의를 떨어뜨리지 않는다. 너무 긴 소스코드는 사람을 쉽게 포기하게 만드니까. 중간중간에 나오는 여기서 잠깐 코너가 있는데 선배 개발자님이 옆에서 알려주는 것처럼 알아야 할 것을 친절하게 알려준다. 

자바 언어에 대한 기본기를 탄탄히 할 수 있는 내용들로 채워져 있기 때문에 추후에 jsp, android 같은 내용을 학습하더라도 어려움이 없을 것이다.

마지막에 찾아보기 페이지가 있기 때문에 자바로 개발하는 동안 옆에 두고 사전처럼 찾아볼 수도 있다. 또 좋은것이 용어 노트 인데 이 부분을 잘 알아두면 나중에 기술면접을 하더라도 많은 도움이 될 것이다.

 

 

혼.공.자(혼자 공부하는 자바) 표지

 

혼자 공부하는 자바를 읽기 시작했습니다. 이 책, 혼공자는 프로그램 책들이 대체로 그렇지만 700페이지 정도의 두꺼운 책입니다. 단순히 책만 봐서는 이런 책을 혼자 보면서 공부를 계속해 나갈 수 있을까 하는 의구심도 들기는 합니다.

 

보라 이 늠름한 두께를

 

저는 마크업 엔지니어라는 직업 관계상 프로젝트의 중 하반부터 Eclipse를 주로 접하곤 합니다. 초반에는 주로 Visual Studio Code를 사용하여 기획, 디자인에 맞추어서 마크업을 진행하고 개발파트에 넘기게 되죠. 그리고 개발자들에 의해 일련의 작업이 끝나게 된 뒤에는 프로젝트 막바지까지 테스트하면서 주로 마크업에서는 발견되지 않았던 문제들을 jsp를 직접 수정하곤 하는 거죠.

간혹 작업을 하다 보면 치환을 해야 하는데 java 파일을 건드려야 할 경우가 생기는데요 자바에 문외한이기도 하고 잘못 건드린 파일을 커밋했다가 꼬이면 얼마나 눈치가 보이는지... 그래서 이 java 파일까지는 건들기가 참 애매해지는 경우가 있습니다. 아무래도 개발영역에 대해서, 특히나 생소한 언어에 대한 거부감이 있다는 생각하곤 있습니다.

제가 혼공자에 기대하는 바는 책을 통해 java를 조금이나마 이해할 수 있는 지식을 가지게 되면 막연히 가지고 있던 문제점에 대한 두려움을 완화할 수 있게 되고 앞으로 작업하는 데도 도움이 되지 않을까 하는 부분입니다.

 

친절한 설명의 단적인 예

 

초보자의 경우 잘 이해할 수 없는 부분들이 있습니다. 대체로 이 영어단어의 나열이 가지고 있는 의미는 무엇인가 하는 것이죠. 상기의 printf 문에 대한 해설을 보면 이해의 폭이 넓어짐을 느낄 수 있었습니다.

 

각 장의 마지막은 얼마나 잘 공부했는지 '마무리' 체크

 

책 구성은 제목만큼 혼자서 학습하기에 적합한 방법을 사용하고 있는 것 같았습니다. 특히 각 장의 마지막에 위치한 '마무리'는 복습을 통해 학습자가 현재 어느 정도나 이해하고 있는지를 스스로 검토해 볼 수 있게 해주고 있어 도움이 되었습니다. 모르는 부분이 생기게 되면 풀기 위해서라도 앞으로 돌아가서 다시 읽어 보게 되더군요.

 

책 뒷면

 

혼자 해도 충분하다! 는 것을 강조하고 있습니다.

책을 실제로 들여다보지 않은 분들은 의심이 갈만한 카피라 생각됩니다. 물론 이 책 한 권으로 자바에 대해 전부 알 수 없습니다. 하지만, 자바로 개발을 하지는 않더라도 자바를 이루는 문법이나 어떤 형식을 취하고 있는지는 이해할 수 있을 것으로 보입니다.

	public class CodeExample {	
		public static void main(String[] args) {
...
}
}

저 역시 처음에는 이게 무엇을 뜻하는지도 몰랐는데 이제는 이해할 수는 있습니다. 뭐, 별거 없습니다. ㅎ

혼자 공부하는 자바.jpg

책 한권으로 자바를 모두 알 수는 없지만 알아가는 시작이 될 수 있습니다. [혼자 공부하는 자바]는 자바를 알려주는 좋은 시작이자 훌륭한 안내자 역할을 합니다.

자바의 다양한 모습 가운데 알아야 할 내용을 중심으로 설명하고 있습니다. 어렵지 않은 표현으로 설명하고 있으며 많은 그림과 예제로 내용을 이해할 수 있게 돕습니다. 예제는 뒤로 갈수록 수준이 변해 갑니다. 고급편에 가면 실무에서 볼 수 있을 법한 예제를 순화시켜 보여줍니다. 그 말은 책 후반부에서 보았던 예제와 비슷한 코드를 실제 사용하는 코드에서 만날 가능성이 있다는 뜻입니다.


주요 개념을 열거하자면,
메모리 사용 영역, 상속, 인터페이스, 중첩 클래스와 중첩 인터페이스, 익명 객체, 스레드, 컬렉션 프레임워크, 입출력 스트림 정도입니다. 6장 이후 내용들입니다.


참조 타입에 있는 JVM 의 메모리 사용 영역을 알아두면 자바를 이해하는데 많은 도움이 됩니다.
클래스를 정의할 때, 클래스 안에 static 메소드를 정의하면서 아직 정의도 끝나지 않는 자신(클래스)의 인스턴스를 만든다는게 말이 안되는 것처럼 보입니다. 그런데 메모리 사용 영역을 알면, 코드를 컴파일한 뒤 JVM 이 클래스를 인식하고 메모리 영역의 어디에 무엇을 할당하는지 그려지며 감이 잡히기 시작합니다.

상속에서 타입 변환과 다형성을 알려줍니다. 여기에 추상 클래스와 인터페이스가 더해져 다형성이 빛을 발합니다.
중첩 클래스와 중첩 인터페이스로 다형성을 확장할 수 있습니다. 그리고 익명 객체가 다형성에 날개를 달아 줍니다. 필요한 곳에 바로 사용할 수 있으니까요.

기본 API 클래스에서 java.lang 패키지는 알아두면 피가 되고 살이 됩니다. java.lang 패키지에서 알려주는 내용을 실무에서 의외로 많이 만나게 될 것입니다.

스레드를 쉽게 설명하고 있습니다. 만들고 실행하는 방법과 공유 객체를 사용할 때 생길 수 있는 문제에 대응하는 방식을 알려줍니다.
어떤 상태가 있고, 언제 상태가 바뀌며, 이런 상태를 어떻게 제어하는지 보여줍니다.
스레드로 프로그래밍을 하지 않아도 스레드를 어떻게 다루는지 여기서 설명한 내용 정도 알고 있다면 다른 코드를 읽는데 많은 도움이 될 거라 생각합니다.

컬렉션 프레임워크와 입출력 스트림은 프로그램을 만드는 이유라고도 볼 수 있습니다.
'데이터를 모아서 보여주고, 필요하면 읽어오거나 저장한다.'

다형성이 편안해지고 당연해집니다.



 



20190805_145440.jpg

 

 

  요즘 공부하고 있는 혼자 공부하는 자바 줄여서, 혼공자바를 리뷰하려고 한다.

IT 관련 서적은 한빛미디어에서 나온 책이 믿을 만하고 괜찮아서 한빛미디어에서 신간이 나오면 눈여겨보는데,

이번에 자바, C, 파이썬을 혼자 공부할 수 있도록 도와주는 혼공 시리즈가 나왔더라.

나는 웹 개발에 관심이 많아 혼공자바를 보기 시작했는데 생각보다 책이 너무 괜찮아서 나처럼 프로그래밍 언어를 독학하려는 분들께 꼭 추천하고 싶다.

 

 

 

20190805_145500.jpg

 

  혼공자바의 전체적인 흐름도이자 혼공 로드맵이다. 주황색 라인은 기초 내용이고 갈색 라인은 심화 내용으로, 기초만을 공부하고 싶은 사람은 11강까지 하면 되고 이후는 억지로 학습하려고 부담을 가지지 않아도 된다.

 

 

 

  이 책이 좋은 점이 정말 혼자 공부하기에 잘 되어 있다는 점이다. 나처럼 비전공으로 프로그래밍 업계에 뛰어 들려 마음을 먹고 공부를 시작하는 사람 중 다수가 '무엇부터, 어떻게, 얼마만큼 공부해야 할지'를 알지 못해 많은 어려움을 겪을 것으로 생각한다. 비전공자에게 프로그래밍이란 미지의 영역이자 외국어를 넘어서, 외계어를 사용하는 그들만의 리그로 보인다. 그래서 많은 사람이 국비지원 프로그램을 덜컥 시작하는 경우가 많은 것 같다. 개인적으로 우리나라 국비지원 교육이 모두 다 믿을만한 것인지는 글쎄.. 잘 모르겠다.

 

 

  나는 프로그래밍에 대해 아는 것이 전무하기 때문에, 국비지원 교육 등에 무턱대고 참여하면 제대로 알지도 못하는 채로 여기저기에 휩쓸려 다닐 것 같아서 조금이나마 맛이라도 보려고 혼자서 공부를 시작했다. 정말 기본도 모르는 초심자가 혼자서 공부하기에 혼공 시리즈는 정말 괜찮은 학습 도구이다. 별로면 별로라고 적을 텐데 불편한 점, 단점도 뭐하나 잡아내기가 어려운 잘 만들어진 책이라.. 장점만 몇 개 적어본다. 단점이 보이면 그때 꼭 추가하겠다.

 

1. 친절한 책 구성과 강의 & 저자 운영 카페의 빠른 답변

 

 

20190805_145546 (1).jpg

 


  개념을 이해하기 쉽게 그림도 많고 부연 설명도 굉장히 자세하게 되어 있다.

 

연산자까지 혼자 공부를 했는데, 아직 어려운 부분이 없어서인지는 모르겠지만, 친절한 책 설명과 강의 덕분에 이해가 잘 됐고 공부하는데 불편함이 전혀 없었다.

'이렇게 쉽게 공부해서 프로그래밍을 할 수 있는 거야..?'하고 의심이 들기도 했음..

 

 

혼공 사이트에 들어가면 20년 경력의 저자께서 직접 강의해 주신 영상을 볼 수 있다.

저자께서 직접 운영하시는 카페를 통해 질문할 수 있는 공간도 있다.

저자에게 질문하기를 클릭하면 '이것이 자바다' 카페로 이동하는데, 나는 모르는 게 있거나 업계 관련 궁금증이 생기면 질문을 하려고 이미 여기도 가입했다.

카페 등업이 굉장히 빨리 이루어졌다.

질문에 답변도 빨리 달아 주실 것으로 예상한다.



2. 풍부한 예제와 적당한 난이도의 확인 문제

 

20190805_145557.jpg

 



'직접 해보는 손 코딩'이라고 새롭게 배운 개념을 적용할 수 있는 코딩 예제가 있다.

강의를 들으면서 공부할 경우, 예제에 나온 코딩을 대부분 직접 따라 하게 되는데

암호같이 보이는 예제도 직접 두드리다 보면

'아~ 이게 이런 거구나'하고 자연스레 이해가 된다.

 

 

한 챕터가 끝날 때마다 시험 치듯 풀어 볼 수 있는 확인 문제도 있는데,

난이도가 높지도 낮지도 않고 딱 배운 것을 돌아볼 만큼 적당해서 좋았다.

확인 문제를 손 코딩처럼 직접 따라 해 보는 것도 도움이 될 것 같다.

 

개인적으로 어떤 것을 배우든 부담 없이 배울 수 있는 방법은

학습 내용에 많이 노출되는 것이라 생각한다.

어렸을 때부터 외국에 살던 사람이 현지어를 못하기가 더 어려운 것처럼,

많이 듣고 많이 보고 많이 따라 하다 보면 잘 못하는 게 더 힘들지 않을까?

 

 

그런 의미에서 혼공자바는 스스로 자바에 많이 노출시키며 공부하기가 좋다.

일단 학습도구가 많고 - 책, 예제, 동영상, 카페

혼자 따라 할 수 있는 코드가 많다. - 예제, 확인 문제

물론 직접 웹사이트나 어플, 서비스를 만드는 게 가장 좋겠지만,

이 책을 통해 공부하는 것은 프로그래밍 언어를 혼자 학습하는 단계에서는 아주 합리적인 선택이라 생각한다.

 

3. 책값 21,600으로 모든 것이 제공된다



내가 너무 상업적으로 생각하는 건지 모르겠지만,

'이렇게 팔아서 남나..?' 하는 생각이 들 정도로 저렴한 책값으로 모든 서비스가 함께 제공된다.

 

한때 고시공부를 아주 자아~암깐 해 본 적이 있는 나로서는 이 가격이 이해가 안 간다.

그 사람들이 너무 많이 남겨 먹는 건가.. 혼공자바 두께 책 한 권이 5만 원이고 강의료는 할인해서 30만 원이었다.

근데 혼공자바는 2만 원 남짓에 모든 강의가 무료고 저자께서 질문에 답변까지 친절하게 달아 주신다.

 

사람들이 IT 산업에 겁먹지 않고 도전할 수 있도록 재능기부의 마음가짐으로 일하시는 건가..

출판사와 저자께 모두 감사를 드리며,

나는 아무리 생각해도 남는 장사라며 즐겁게 공부하고 있다..ㅋㅋ

이렇게 리뷰 남기는 게 귀한 정보를 아낌없이 나누는 분들께 조금이나마 도움이 되기를 바란다.



 

artificial-intelligence-blur-close-up-546819.jpg

 

 

사실 어떤 교재, 강의로 공부하던지 본인이 제대로 배우고자 하는 마음만 있다면

 

무엇이 되었든 원하는 수준에 도달할 수 있을 것이다.

지루함을 버티고 점점 실력이 늘다 보면 그에 비례해서 애정과 흥미도 상승하는..

모든 공부가 다 그렇지 않을까.

 

하지만 약간 다른 관점에서 보면 어떻게 공부하는지를 따지는 것이 중요한 요소가 될 수도 있다.

바로 '가지지 못한 것에 대한 미련'이 공부하는 당신의 발목을 잡을 때이다.

내가 돈이 많았으면, 건강했으면, 아는 사람이 많았으면,

무언가 내 공부에 더 도움이 되었을 것 같다는 미련이 공부를 방해할 때는

어떻게 공부하는지가 나의 학습에 핵심적 요소로 떠오르게 된다.

 

혼공자바는 가지지 못한 것에 대한 생각을 공부에 방해되지 않을 만큼 작게 만드는 데 도움이 된다.

2만 원에 20년 경력의 저자 인터넷 강의, 꼼꼼한 책, 저자의 피드백을 얻었으니

이제 돈이 없고, 몸이 안 좋아 외출을 못해서 혹은 도와줄 아는 사람이 없어서

공부를 못 한다는 스스로에 대한 변명이나 외부에 대한 질책을 하기 힘들 것이다.

 

그런 의미에서 나는 이 책을 만들고 동영상 강의를 제공해주신 출판사와 저자분께 감사하며 공부를 하고 있다.

2만 원과 노트북 하나, 포기하지 않겠다는 마음만 있으면 프로그래밍 언어의 기초를 탄탄히 공부할 수 있으니.

 

자바를 독학하려는 분들께는 강력히 이 책을 권해드리고 싶다.

나처럼 혼공 시리즈에 몸을 싣고 프로그래밍의 바다를 탐험하기 시작한 분들께는 행운이 있기를!

아름다운 신 대륙을 발견하면 외치자.

"Hello, world!" 하고!



  • 작게
    문서 너비
    옆트임

사진 설명을 입력하세요.

요즘은 예전과 달리 학부과정에서 C언어보다는 JAVA언어를 기본으로 가르치는 학교가 대부분일듯 싶다.

그렇지만 비전공자이거나 개인적인 필요에 의해서 프로그램 언어를 배우고자하는 사람들이 나홀로 독학한다는 것은 쉬운일이 아니다. 활자매체의 한계로 인하여 수준이 맞지 않가나 궁금한 점을 물어볼수 없는 상황에 처하게되어 원하는 목표를 달성하지 못하는것이 대다수이다.

 

 

 

금차에 혼자공부하는 시리즈의 책을 보면 위에서 언급한 나홀로 독학으로 프로그램 언어를 배울때의 문제점을 상당부분 메꿔주고 있다고 생각된다. 우선 초보자도 알수 있게 쉽게 집필되어 있다. 또한 홈페이지를 통하여 저자에게 질문할 수 있는 공간도 마련되어 있고, 동영상 강좌도 제공하고 있어서 혼자공부하고자 마음먹은 사람들에게 상당한 도움을 주는 책이라고 생각된다. 각 단원마다 마무리 확인 문제를 중심으로 이해정도를 측정하여 미비한 부분을 다시 학습한다면 초보자가 겪는 중요한 부분과 그렇지 않은 부분을 손쉽게 구분할 수 있다.

 

결정적으로 차별화된 장점은 [혼자공부하는 학습단]을 운영하여 주차별 과제를 이수하고 해당 미션을 완수하면 선물을 지급하여 이 책을 통하여 프로그램 언어를 학습하고자 하는 많은 사람들에게 좋은 동기부여가 되는것 같다. 현재 혼공 학습단 1기가 진행중이니 많은 분들이 참여하였으면 하는 바램이다.

하늘은 스스로 돕는자를 돕는다고 한다. 어렵다고 도전하지 않거나 쉽게 포기하는 초보 프로그래머에게 추천해봄직한 책이다.

모두가 이책을 통하여 좋은 결과를 얻게되길 기원한다.

 

 

자바는 국내에도 이미 이름이 널리 알려진 좋은 서적이 많아도 너무 많다.

그런만큼 경쟁력이 될만한 요소가 없다면 자바 입문하는 사람들이 선뜻 신간 도서에 손을 뻗게 만들기란 쉬운 일이 아닐 것이다.

서론을 읽어보니, 책의 차별점은 '혼자 공부하는'이라는 키워드에 부합하도록 정말 혼자서도 배울 있게 준비했다는 이라 한다.

책을 구입하는 것만으로 역할을 끝나는게 아니라, 다른 사람들과 함께 계획적으로 학습하는 '혼공 학습단' 운영하고 무료로 동영상 강의까지 제공해준다고 한다. 책을 한권 사는 만으로 강의 수강권과 함께 공부할 동료를 얻을 있어서 상당히 알찬 구성인 같다.

목차는 여느 자바책과 전혀 다른점이 없다. 이클립스 설치부터 시작해 입출력 스트림로 끝난다.

 

전부 읽어보지는 못했고 몇개 챕터만 살펴보았는데, 설명이 정말 친절하다.

진입장벽이 있다고 느껴지는 책들은 어려운 개념을 어려운 문장으로 설명해서 한번에 받아들이기가 어려운데,

책은 설명이 간결하면서도 프로그래밍의 주요 개념을 풀어서 설명한다.

그런데 책을 읽다보니 어디서 많이 읽어본 같은 익숙한 내용들이 나오길래 예전에 본 있는 '이것이 자바다'라는 책을 다시 꺼내서 비교해봤다. 저자가 동일해서 그런지 목차 구성부터 문장까지 완전히 똑같은 부분이 꽤나 있었다. 이것이 자바다의 개정판을 보는 같은 기분이었다. (모든 문장이 전부 존댓말로 바뀌긴 했다.) 두권 분량을 한권으로 줄여놨으니 정말 필요하다 싶은 것만 남겨두고 나머지는 걷어낸게 아닐까 싶다. 

책의 소개를 보면 혼공자로 자바를 학습한 깊이있는 학습을 하고 싶다면 '이것이 자바다' 사라고 써있다. 솔직히 중복되는 내용이 많아서 두권을 필요는 없어보이고 취향에 따라 1 하면 같다. 둘다 자바의 기초를 배우고자하는 입문자들에게 가장 먼저 추천하고 싶은 좋은 책이다.

나의 예전 경험을 생각해보면, 초보자들이 처음으로 프로그래밍 언어를 익힐때 가장 난항을 겪는 것은 평상시 접할 없었던 프로그래밍의 언어의 컨셉을 받아들이는 과정이 아닐까 싶다. 객체지향, 포인터 등등 일상에서의 경험과 치환이 어려운 그런 개념들을 처음 접했을 ... 직접 코딩을 하며서 익숙해지기 전엔 납득할 없는 낯설음(?)에서 또한 어려움을 느꼈던 같다.

초보자에게는 이렇게 선생님처럼 차근차근 알려주는 학습 자료로 공부를 해보는 것이 익숙해지는 과정에 도움이 것같다.

“혼자 공부하는 파이썬”을 보고선 꼭 보고 싶었던 책이 이  “혼자 공부하는 자바”, 즉 ‘혼공자’입니다.   


혼공者(사람 자)?   혼공파(派)의 혼공자(者)? 무슨 무협의  소설 이야기 같기도 합니다만… (농담입니다.  ^^;;;). 한빛 출판사의 최신간인 혼자 공부하는 시리즈 중 두 번째 보고 있는 책입니다.  




다른 언어에 대한 책  두 권을 같이 본다는 것이 어째 이상하게 보일지 모르겠지만 연말까지 파이썬으로 Windows 앱을 작성하고  Java 로 스마트 폰 앱을 만들어서 내가 설계하고 만든 STM32 시리즈를 이용한 컨트롤러나 IoT 보드를 활용하는 앱들을 만드는 목표를 달성하기 위한 과정입니다. 


컴퓨터/IT 관련 한 책들을 20년 이상 보아 오면서 몇가지 느낀 점들이 있는데 그 중 한가지가 제목의 중요성 이었습니다. 특히 이런 전자/컴퓨터/ IT 계열의 책들의 경우 제목이 상당히 중요하다는 것입니다. 서점에서는  제목으로 독자들의 시선을 끌어야 매대에 놓인 책들이 관심을 받을 수 있을 것이며 인터넷 등에서 언급될 때 유리하겠지요. 인터넷이나 입소문이 나기 위해서는 제목이 뭔가 특색이 있으면 좋을 겁니다.  


하지만 가끔은 책의 제목과 내용이 동떨어지거나 제목을 제대로 뒷받침 못해 주는 책들이 가끔, 아니 종종 보였습니다.  제목은 거창하고 표지는 유명출판사(들)의 컨셉을 빌어 왔지만 그 내용은 빈약한 경우도 있더군요. 책의 중간에 여백을 남기기 싫어서 이런 저런 잡학 지식을 넣은 책도 보이던데, 그 잡학 지식이 그 책의 주제와는 관련이 별로 없는 내용인 책을 본 적도 있습니다.  이런 건 저자가 자신의 지식을 자랑하기 위한 것으로만 보일 뿐입니다. 뭔가 재미있게 설명해 보겠다고 이런 저런 예를 들었지만 설명이 꼬이거나 편집 과정에서 오탈자나 오류를 제대로 확인하지 못하고 그냥 출간한 책들도 보입니다. 국내 서적이긴 한데 저자나 그 시리즈에 대한 직접적인  언급은 하지 않겠습니다. 


제목은 판에 박힌 틀을 벗어 나진 않았지만 내용이 알찬 책들도 있습니다.  이런 책들은 국내 서적 보다는 미국 서적이나 일본 서적에서 많이 볼 수 있었습니다.  


이렇게 제목과 내용이 좋은 방향이든 나쁜 방향이든 조금은 박자가 맞지 않는  책들을 봐 왔지만 지난 번에 본 “혼자 공부하는파이썬” 에 이어서 두 번째 보는 “혼자 공부하는 자바”(이하 혼공자) 를 보면 제목과 내용이 이렇게 잘 어울리는 책들을 본적이 없는 것 같군요. 


거기다가 이 ‘혼공자’는 혼밥, 혼술, .. 등 최근의 경향도 따라가고 있어 입에 착착 붙는 제목입니다.  


이 리뷰를 제목과 내용의 조화에 대해서 이야기 하는 것은 그동안 제목과 내용이 뭔가 어울리지 않았던 책들을 너무 많이 보아왔기 때문일지도 모릅니다. 하지만 이  혼공자는 혼자서 Java 를 익힐 수 있도록 


  • 혼자 읽어도 이해하기 쉬운  잘 설명된 내용

  • 설명을 돕기 위한 일러스트(그림, 모식도 등)들

  • 따라 하다 보면 흔히 만날 수 있는 에러 메시지들의 원인 설명

  •  각 장이 마지막에는 ‘핵심포인트’과 함께 나오는 ‘확인문제’는 로 구성이 되어 있습니다. 

  • 보기 쉽고 이해하기에 편한 페이지 편집 및  구성



이런 구성을 보면 마치 학습지를 보는 것 같습니다.  하지만 학습지가 이렇게 구성되어 있다는 것은 학습을 위해서는 수십년간의 출판 경험으로 제일 좋은 구성이라는 것을 알기 때문에 그런 구성으로 책을 만들었겠지요. 

하지만 기초를 익히는 데 있어서 가장 중요한 설명과 요약, 그리고 익힌 내용을 활용해 보는 문제 풀이라는 구성은 처음 익히는 과정에서는 가장 적합한 구성이라고 볼 수 있습니다. 


 

혼공자를 보면 내용을 설명하는 방식이  저자들의 다년간 강의 경험을 다 쏟아 부은 것 같습니다. 거기다가 한빛 출판사에서도 이번 혼공 시리즈에 많은 정성을 들인 것 같다는 느낌이 팍팍 들 정도로 깔끔하게 잘 된  편집이더군요.


마지막으로 책의 첫 부분에 있는 저자와의 인터뷰에서 저자가 이 혼공자를 보고나면 좋을 책을 소개한 것도 마음에 듭니다. 기초를 보고 나면 그 다음 단계로 어떻게 가는지, 그리고 어떤 책이 좋을지에 대해서도 고민을 하게 되는데 저자가 책을 소개해 주는 군요. 

물론 자신의 책이긴 합니다만 (^^;;) 저자의 자신감의 표현이겠지요. 그리고 나도 이 책을 보면서 이 책의 저자의 설명 방식과 화법에 익숙해 졌으니 같은 저자의 책을 보는 것이 다른 저자의 책을 보는 것 보다 편하다는 것은 여태까지의 경험이 말해 주고 있으니… . 


IT나 IoT 분야에서 가끔 보이는 최근 뜨는 주제나 관심이 있는 주제에 대해서 급조한 책을 낸 것이 아닌 초보자가 혼자서도 공부할 수 있도록  저자의 강의 경험들을 한 권으로 엮어낸 이 ‘혼공자’야 말로 자바를 혼자 공부하기에 최적인 책이라고 판단되는 군요. 이 책으로 시작해서 스마트폰 앱 제작까지 올해 안에 마무리 하기 위해  열심히 읽고 따라해 봐야겠습니다.  

 

 

이만


이 글은 <나는 리뷰어다> 6월 이벤트로 받은 책을 읽고 개인적인 느낌을 적은 글임을 밝혀둡니다. 

 

자바를 공부하려는 사람들은 수많은 서적 중에서 선택장애를 맞이하게 된다. 최근에는 '자바의 정석', '이것이 자바다'가 유명하다.

 


 

 

1.jpg

 

 

 

 


그런데 여기 상당한 신인이 등장했다. 바로 '혼자 공부하는 자바'이다. 제목부터 이미 상당히 흥미롭다. 책을 보면서 공부할 때는 혼자하는 경우가 많다. 독학을 하려는 사람들은 지나칠 수 없는 제목이다.

 

 


 

 


제목을 보면 딱 기대하는 것은 하나라고 생각한다. 혼자서 할 수 있을만큼이라면 도대체 얼마나 쉽게 설명을 하는 걸까?

 

 


 

 


답은 그림에 있었다. 그림이라고 하면 흔히 도식화 정도를 떠올리기 마련이다. 하지만 여기선 좀 다르다.

 

 

2.jpg

 

 

 


위 사진을 보면 코드에 각 부분이 어떤 역할을 하는지 그림을 그려가며 설명하고 있다. Scanner scanner는 변수를 선언하는 부분이고 new Scanner(System.in);이 Scanner 생성을 하는 것인데 시스템의 입력 장치로부터 무언가 읽어오는 녀석이다. 그렇게 생성한 Scanner라는 것을 변수에 담는다. 이러한 과정을 코드에 그림을 그려 잘 설명해주었다.

 

 


 

 


사실 말로 설명하면 잘 이해가 되지 않을 때가 많다. 그리고 말로 상세하게 설명해주는 경우도 드물다. 그러면 독자는 아리송하게 된다.

 

 


 

 


계속해서 위 예를 참고하면, Scanner 생성하는 코드 정도는 자바를 아는 사람들이야 별거 아닌거겠만 입문자에게는 의문 투성인 것이다. 그것을 한땀한땀 어떤 의미인지 알려주는 점에서 참 친절한 설명이라고 느꼈다.

 

 


 

 


그렇다고 기존이 도식화가 없는 것은 아니다.

 

 


객체 간의 관계를 그림으로 한 눈에 들어오도록 했다. 이런 관계를 설명할 때는 사실 그림이 제일 효과적이다. UML이 괜히 존재하겠는가?

 

 


 

 


무슨 클래스가 뭘 상속하고 있고 A객체와 B객체가 무슨 관계라고 말로 설명하면 자바를 아는 사람도 집중해서 읽어야 한다. 따라서 혼자 공부하는 입문자에게 적절하지는 않다. 그래서 이런 그림은 참 효과적이라고 생각한다.

 

 


 

 


딱딱한 그림보다는 이렇게 친근한 자동차 그림과 같은 활용도 입문자에게 유연한 학습을 할 수 있도록 도와주는 것 같다. (그나저나 책에서 한국 타이어, 금호 타이어 이렇게 특정 회사 언급을 해도 되는건지 의문이 남는다.)

 

 


 

 


입문자의 눈에서 보면 또 어떨지는 모르겠지만, 전반적으로 쉽게 설명하려는 노력이 돋보이는 책이다.

 

#혼공자 #자바 #java #한빛미디어

 

'혼자 공부하는 파이썬(이하 혼공파)' 도서리뷰에서도 언급했었지만, 인터넷 쇼핑몰 리뉴얼을 준비하는 상황이라, 빅데이터 분석을 위해서는 파이썬을, 그리고 안드로이드 앱을 제작하기 위해 자바를 다시 공부해 보게 되었습니다. 사실, 프로그램하는 친구가 있어서 저는 기획에 전념하면 되긴 하지만, 내 손으로 뭔가 프로그램을 만들어 돌려 보고 싶다는 욕망을 내려놓기 어려워서 다시금 자바 책을 잡았습니다.

 

 

혼자공부하는자바01.jpg

 

혼자공부하는자바02.jpg

 

이번에 잡은 자바책은 "혼자 공부하는 자바(이하 혼공자)" 입니다. JDK 를 설치하고 작심삼일로 끝났던 것이 지금까지 몇번이었는지 기억도 나지 않습니다만, 책의 설명을 따라 다시 JDK 를 설치했습니다. 이번에는 꼭 책 한권 끝까지 완주하고 마리라 ~ 다짐해 봅니다.

 

 

혼자공부하는자바03.jpg

 

오라클 사이트에 보니 어느새 Java SE 12.0.1 버전이 나왔네요. 혼공자는 Java 8 과 11을 지원하므로 2019년 7월 현재, Java 11 의 최신 버전인  Java SE 11.0.3 을 책을 참고하여 설치하였습니다. 다른 책에서는 자바 버전 읽는 법을 설명하는 것을 본 기억이 나지 않습니다만, LTS 버전을 사용해야 하는 이유나 버전 표기 읽는 법까지 책에 설명되어 있으니 좋네요. 자바와 같은 오픈소스 개발환경의 경우 책에서 사용하는 버전과 실제 설치한 버전이 상이한 경우, 책의 내용을 이해하기가 어려운 경우가 종종 발생하기 때문입니다. 지금에야 망설이지 않지만, 처음 공부할 때는 Java 어떤 버전을 설치해야 하는지 대략 난감해하며 심히 고민했던 적도 있었습니다.

 

 

혼자공부하는자바03.PNG

 

여담이지만, 오라클 사이트에서 JDK 다운로드시 오라클 계정 로그인을 요구하네요. 예전에는 그런 과정이 없었던 것 같은데 ... 책에도 설명이 안 되어 있는 부분이라 최근에 생긴 건가 하는 생각도 드네요. 일단, 계정 만들고 다시 다운로드 하니 로그인창이 뜨지 않고 바로 다운로드 하긴 하네요. 혹시나 저처럼 오라클 계정 로그인창 뜨면 참고 바랍니다. 한글로 안내하고 있어서 계정 만들기가 어렵지는 않았습니다. 저는 이메일과 암호외에는 대강 아무렇게 ...

 

[사진이 몇장 더 있는데 올라가질 않네요. 사진 더 올리는 것은 포기 ...]

 

JDK 와 이클립스 설치 과정부터 하나 하나 다시 책을 따라 가기 시작했습니다. 중간 중간 의문을 가질만한 부분에 'note' 라고 표시된 관련 설명이 있어서 좋았습니다. 이 'note'는 책 전반에 걸쳐 혹여 궁금해 하거나 혼동할만한 내용에 추가설명을 제공하고 있습니다. 미리 콕 찝어 언급하고 넘어가는 것을 봐서는 아마도 저자의 20년 강의 노하우가 아닌가 싶습니다. 수많은 질문들을 접했을테니까요.

 

 

한 챕터가 끝나면 해당 챕터의 핵심 포인트과 이해도를 높이기 위한 확인문제를 정리한 '마무리' 섹션을 만나게 됩니다. 혼공파를 읽을 때도 개념정리에 많은 도움이 되었듯, 혼공자에서도 한 챕터를 스터디하는데 혹여 놓친 부분이 무엇인지 확인하는데 도움이 되었습니다. 한 챕터를 마무리하고 다음 챕터로 넘어 갈 때, 특히나 매일 매일 스터디하지 못하고 몇일 놓았다 다시 학습하려할 때, 이전 챕터에서 무엇을 학습했는지 기억을 더듬을 때에도 이 마무리 부분은 요긴하게 쓰였습니다.

 

 

 

학습로드맵만 놓고 봤을 때는 한 때 유행하던 '○○ 프로그래밍 30일완성'과 같은 책들이 먼저 생각이 났습니다. 제목에 끌려서 무턱대고 잡았다가 부실한 설명과 도저히 따라갈 수 없는 분량에 번번히 좌절하곤 했던 기억이 나네요. 하지만, 혼공자의 경우 혼공파에서도 느꼈지만, 전체적으로 매우 자상하다는 느낌을 받았습니다. 그리고 챕터별 분량도 하루 하루 시간 생길 때마다 잠시 잠시 따라 가기에 그리 어렵지 않았습니다. 무엇보다도 책의 내용이 입문자 배려에 초점을 두고 있는지 아주 어려운 내용까지는 안 가는 것 같았습니다. 이 책으로 자바에 어느정도 익숙해 진 후 개발 프로젝트를 잡고 더 전문적인 책으로 넘어가면 좋을 것 같습니다.

 

 

이전에 접한 여러 자바 책들은 이유도 모른 채 무작정 따라하길 강요하는 느낌이었다면, 혼공자는 자바 설치시 생성되는 폴더나 이클립스 사용시 생성되는 파일들 하나까지도 필요시에는 그 용도를 언급하고 있어서 초보자의 혼동을 미연에 방지하고 있습니다. 코딩을 연습하는 과정중에도 최대한 기초를 탄탄하게 밟아 갈 수 있도록 조금 진도가 느리더라도 차근 차근 상세히 설명해 나간다는 느낌을 많이 받았습니다.

 

 

전체적으로 집필의도가, 우선 이 책을 통해 자바에 대한 전체적인 그림을 그리고, 이 책의 내용을 손가락에 숙지한 후, 좀 더 상급의 책으로 넘어갈 수 있는 디딤돌이 되는 책이라는 느낌을 많이 받았습니다. 책의 설명이 매우 자상하고 상세해서 바로 옆에 학원 선생님이 있는 것 같은 느낌을 주네요. 그간 자바 관련 서적을 두세권 사서 봤는데 이 혼공자가 자바 입문자들을 자바의 세계로 제일 잘 이끌어 주고 있는 것 같습니다.

 

 

취미삼아 유니티와 연계한 C# 을 공부한 적이 있어서 그런지 하루에 한 챕터 내지 반 챕터 정도를 적정 분량으로 잡고 진도를 나가기에 큰 어려움이 없었습니다. 중간 중간 빼 먹은 날도 있었지만, 2주정도만에 어느새 책의 중간정도 진도를 나가고 있네요. 한달정도면 큰 무리없이 책 한 권 다 볼 것으로 예상됩니다.

 

 

참고로, 진도 나가면서 제일 많이 다시 들춰 본 부분이 p25~p30 까지의 프로젝트 생성 - 패키지 생성 - 클래스 생성 부분이네요. 코딩을 익히기 위해 예제를 하나 하나 따라하려면 위 과정을 계속 반복해야 하는데, 기억력이 많이 감퇴되었는지 잘 안 외어 지더라구요. API 들은 잘 외워 지는데. ㅎㅎ 여하튼 하루 한챕터 마치고 다음날 다시 p25~p30 보면서 코딩 익히고를 한 3일 반복하니 이제 손에 익었습니다.

 

 

http://hongong.hanbit.co.kr/%EC%9E%90%EB%B0%94/

 

'혼자 공부하는' 시리즈는 최근 한빛미디어가 밀고 있는 신규 시리즈인 듯 합니다. 혼공 사이트를 단독으로 만들어 놓았네요. 위 사이트에 접속해 보시면 유튜브 강의 동영상과 저자 운영 카페(저자에게 질문하기 가능) 등을 참고 할 수 있습니다. 동영상은 계속 만들어 가는 중인지 2019년 7월 12일 현재 아직 많이 올라오지는 않았네요.

 

 

http://www.hanbit.co.kr/event/current/current_event_view.html?hbe_idx=110&page=0target=

 

책을 읽어 가는 동안 한빛미디어로부터 홍보 이메일이 왔네요. 혼자 공부하는 C / Java / 파이썬 시리즈 관련하여 여름방학 학습단도 모집하고, 혼공 포토 컨테스트도 개최한다고 합니다. 관심 있으신 분들은 위 링크를 따라가 보세요.^^

 

 

http://www.hanbit.co.kr/store/books/look.php?p_code=B5635758676

 

참, 아쉽게도 책에 오탈자가 좀 있는 것 같습니다. 한빛미디어 사이트에서 꼭 확인하여야 할 것 같네요.

 

 

C언어는 관심이 없어서 '혼자 공부하는 C언어'를 보지는 않았지만, 혼공파와 혼공자의 경우 한 시리즈라 편집 방식이나 디자인이 동일한 면이 많아 보입니다. 프로그래밍 언어가 수없이 많지만 하나를 제대로 익히면 다른 언어도 수월하게 습득할 수 있는 것처럼, 홍공파나 혼공자는 각각의 저자는 다르지만 동일한 편집방식으로 인해 완전 별개의 책으로 느껴지지 않는 묘미를 발견하기도 하네요. 혼공 시리즈 편집 방식이 마음에 든 독자는 앞으로 시리즈에 프로그래밍 언어가 추가 될 경우, 필요한 책을 고른다면 혼공 시리즈 중에서 고르게 될 것 같다는 생각도 해 봅니다. 당연, 저자들도 일류 고수들이니까요.

 

 

 

 

 

 

 

 

혼공자

 

혼자공부하는 시리즈의 자바편입니다.

 

이미 많이 출간된 자바 책들과 "혼자 공부하는 자바"는 과연 무엇이 다른지 궁금하였습니다.

자바는 객체지향프로그래밍 언어입니다. 객체지향(Object oriented) 프로그래밍 언어는 자바 프로그래밍 책이라면 빠지지 않고 나오는 용어입니다.

"객체지향" 처음 자바 프로그래밍을 접하는 분들이라면 이 용어에서부터 벌써 거부감이 느껴집니다. 자바프로그래밍을 하기위해선 객체지향 개념을 꼭 알아야 하느냐 그렇지만은 않습니다.

객체지향에 해당하는 여러가지 개념들. 클래스, 상속, 인터페이스, 등 차근차근 해나간다면 어느새 객체지향 프로그래밍에 다가서있는 자신을 발견하게 될것입니다.

 

이책의 구성은 혼자 공부하는 시리즈의 구성과 동일합니다.

 

각 단계별로 공부하는 7단계 길잡이가 있습니다.

 

1단계: 핵심키워드(해당 절에서 중점적으로 볼내용을 확인합니다

-> 해당 절에서의 중요 핵심단어와 중요 내용들을 간략하게 설명하여 무엇에 대해 공부하게 될지를 사전에 파악을 할 수 있습니다.

2단계: 시작하기전에(해당 절에서 배울 주제 및 주요 개념을 짚어 줍니다.)

-> 해당 절에서 학습할 주제와 중요한 개념에 대해서 설명을 해줍니다.

3단계: 말풍선(지나치기 쉬운 내용 혹은 꼭 기억해 두어야 할 내용을 짚어 줍니다.)

-> 해당 절에서 지나치기 쉬운 내용이나 꼭 기억해야 할 내용에 대해서 말풍선을 통해 한번이라도 더 볼수 있게 해주었습니다.

4단계 : 직접해보는 손코딩( 소스코드는 직접 손으로 입력 한 후 실행하세요! 코드 이해가 어려우면 주석, 실행결과, 앞뒤의 코드 설명을 참고하세요)

-> 프로그래밍 서적은 역시 직접 손코딩을 해야 이해하기가 쉽습니다.

5단계 : 좀 더 알아보기(쉬운 내용, 핵심내용 좋지만, 때론 깊이 있는 학습니 필요할 때도 있습니다. 더 알고 싶은 갈증을 풀수 있는 내용으로 담았습니다.)

-> 깊이 있는 학습이 필요할때 더 알고 싶은 내용에 대해서 설명을 해주었습니다.

6단계 : 핵심포인트(절이 끝나면 마무리의 핵심 포인트에서 핵심 키워드의 내용을 리마인드하세요.)

-> 해당 절이 끝나면 해당절에서의 핵심키워드에 대해서 다시한번 정리해 주어 한번 더 핵심내용에 대해서 이해할수 있었습니다.

7단계 : 확인문제(지금까지 학습한 내용을 문제를 풀면서 확인합니다.

-> 확인문제를 풀면서 지금까지 공부한 내용에 대해서 다시 한번 확인할수 있어 좋았습니다.

 

다음은 학습 로드맵입니다.

기본편 01~11장

 

01장 자바시작하기

자바의 개념을 이해하고, 개발환경구축및 개발 순서를 배웁니다. 그리고 이클립스를 통해 자바 프로젝트 생성과, 컴파일 과정을 거쳐 바이트 코드를 실행하는 방법에 대해 알아봅니다.

프로그래밍 언어인 자바에 대해서 소개하고, 자바개발도구를 설치합니다. 개발 설치 처음부터 컴파일 과정까지 그림을 통해서 혼자서도 잘 따라올수 있도록 설명하였습니다. 중간 중간 말풍선을 통해 지나치기 쉬운 내용에 대해서도 다시 한번 설명을 해줍니다.

 

02장 변수와 타입

변수이름의 명명과 규칙 값을 저장하고, 사용하는 방법과 잘못된 코딩예와 올바른 코딩예를 제시하여 에러가 나기 쉬운 상황에 대해서 설명을 해줍니다.

올바른 사용법만 알려준다면 에러가 발생할 상황에 대해서 알아채기가 쉽지 않을텐데 잘못된 코딩예도 함꼐 제시하여 에러가 발생할 상황을 미연에 방지할수 있습니다.

 

03장 연산자

연산자와 피연산자에 대해 배우고, 연산의 방향과 우선순위, 단항 연산자와, 이항연사자의 종류에 대해 알아보고, 각각의 연산 방법에 대해 살펴봅니다.

프로그램에서 데이터를 처리하고 결과를 산출하는 연산에 대해서 설명을 합니다. 자바의 다양한 연산자를 알아보고, 연산자 복합적으로 구성된 연산식에서의 우선순위를 알아봅니다.

 

04장 조건문과 반복문

제어문을 통해 프로그램의 흐름을 제어하고 조건문의 종류와 반복문의 종류 각각의 실행 흐름에 대해서 살펴봅니다.

조건문의 종류와 실행흐름에 대해서 그림과 함께 자세히 설명하여 직접 손 코딩을 하면서 잘 따라올수 있도록 설명하였습니다.

 

05장 참조 타입

자바의 참조타입과 메모리 영역의 세부 영역과 기능을 알아보고 참조변수와 NullPointerException 에 대해 알아봅니다.

글로만 설명하기에는 좀 어려울수 있는 기본 타임과 참조 타입에 대해서 그림으로 각각 표현하여 이해하기 쉽도록 설명하였습니다.

또한 자바 프로그래밍시에 발생하는 NullPointerException에 대해서 자세히 설명합니다. 5장의 내용또한 중요하다고 볼수 있습니다.

 

06장 클래스

객체 생성을 위한 클래스의 선언, 필드를 선언 생성한후 이를 읽어들이거나 변경, 그리고 생성자와 메소드의 다양한 기능에 대해 알아봅니다.

다음으로는 가장 중요한 객체지향 프로그래밍의 시작으로서 클래스에 대해서 공부합니다. 시작하기전에 객체란 무엇인지에 대해 설명하며 객체의 상호작용, 객체의 생성과 이를 불러들이는 방법, 접근제한자,생성자등 정말 중요한 내용들에 대해서 알기쉽게 그림과 더불어 설명을 하였습니다.

 

07장 상속

클래스를 상속해서 자식클래스를 만드는 방법과, 타입변환, 다형성, 추상클래스에 대해 알아봅니다.

상속은 이미 잘 개발된 클래스를 재사용해서 새로운 클래스를 만들어 중복된 코드를 줄이고 효과적을 사용할 수 있습니다. 실제 코딩할때도 많이 사용되고 있고요

 

08장 인터페이스

인터페이스의 개념과 선언, 인터페이스를 선언하고 이용할 수 있고 새로운 인터페이스를 선언하는 방법을 알아봅니다.

자바에서 인터페이스(interface)는 객체의 사용방법을 정의한 타입입니다. 인터페이스를 통해 다양한 객체를 동일한 사용방법으로 이용할 수 있습니다.

 

9장 중첩 클래스와 중첩 인터페이스

클래스 내부에 선언하는 중첩 클래스와 중첩 인터페이스를 이해고 익명 자식 객체와 익명 구현 객체를 생성하는 방법을 배웁니다.

 

10장 예외처리

예외의 개념과 예외 관련 클래스를 알아보고 예외 처리코드를 작성하여 예외처리를 구현해 봅니다.

 

11장 기본 API 클래스

자바 API 도큐먼트를 보고 활용하는 방법과 자바에서 자주 사용하는 클래스를 알고 사용하는 방법에 대해서 학습합니다.

자바에서 제공하는 API는 무척 방대하기 해당 클래스와 메소드를 외워서 사용하기에는 어려울 것입니다. 11장에서는 API 도큐먼트를 잘 읽고 활용하는 방법에 대해서 설명을 하였습니다.

 

고급편으로 나뉘어져 있습니다..

12장부터는 고급편으로 스레드의 개념과 멀티 태스킹을 위해 작업 스레드를 생성하고, 동기화 메소드의 역할과 이를 이해하고 활용하는 방법과 스레드의 실행 대기, 일시정지, 종료등의 상태를 제어하는 방법에 대해 학습 할수 있습니다.

 

13장 컬렉션 프레임워크

컬렉션 프레임워크의 List, Set, Map 자료구조의 특성을 이해하고 자료 구조에 맞는 컬렉션 프레임워크의 API를 선택하고 사용하는 방법에 대해 설명하였습니다.

 

14장 입출력 스트림

입출력 스트림을 이해하고, 바이트 기반 입출력 스트림과 문자 기반 입출력 스트림에 대해서 자세히 설명하였습니다.

 

 

총평

 

혼자 공부하는 시리즈의 "혼자공부하는자바"는 혼자서도 충분히 공부 할수 있도록 책의 구성이 짜임새 있게 잘 구성되어 있어 혼자 공부하기에 좋았습니다.

핵심 키워드 설명과, 핵심포인트, 확인문제등 혼자서도 충분히 학습 할수 있도록 구성되어 있습니다.

 

자바 입문서로 "혼자서 공부하는 자바"한 권으로도 충분하다고 봅니다.

학습효과를 충분히 내기 위해서는 용어에 대한 정확한 이해와 그리고 직접 손코딩을 통해 이해하고 나가는 것이 좋습니다.

 

자바를 공부하기로 생각하셨다면 "혼자서 공부하는 자바" 를 선택하세요~

강추합니다~

한빛미디어에서 '상품 협찬'을 받아 후기를 작성하였습니다.

 

1. 책을 읽기 전에.
혼공자, 혼자 공부하는 자바라는 책이 수중에 들어왔습니다.
책 표지를 보는 순간, 표지 디자인이 참 깔끔하다. 귀엽다라는 느낌을 받았습니다.
예상보다는 상당히 두꺼운 책입니다. 최대한 압축하여 적은 페이지일 거라 예상했던터라 의외입니다.
초보자에게 프로그래밍 책은 대부분 딱딱하고 어렵게 느껴질 것이라 생각합니다.
저 역시 자바 언어는 그렇게 익숙하지 않은 편이라 어떻게 쓰여져 있을까 상당히 궁금했습니다.
하지만 꼭 마스터하고 싶은 언어이기에 이 책을 읽고자 합니다.

표지_가로.jpg

 

표지_세로.jpg

 

목차.jpg

 

2. 책을 읽으면서
자바 개발 도구인 이클립스 설치부터 친절하게 안내하고 있습니다.
저는 이미 설치되어 있으니 패스했습니다.
우선 도형과 그림들이 상당히 많은 것 같습니다.
아마도 실제 강의실에서 강의하듯이 설명하기 위해 그런것 같습니다.
책이니 실제로 목소리는 들을 수 없지만 때론 강의실에서 설명하는 것처럼 느껴지기도 합니다.

책 표지에 동영상 강의도 무료로 제공된다고 적혀 있습니다. 보너스인 것 같습니다.
(옛날에는 오로지 책밖에 없었는데요. 지금은 동영상 강의, 카페등도 운영하는 게 일반적인 것 같습니다.)

저자의 목소리도 들어 볼 수 있을 것 같습니다.

텍스트와 표만 잔뜩 나열되어 있는 책을 보다가 혼공자 이 책을 보면 눈에 부담없는 색상의 그림과 도형들을 보면 상당히
새롭다는 느낌을 받았습니다. 이렇게 깔끔하게 책을 만들수도 있구나!!!
이해하기 쉽게 풀어내려고 노력한 흔적을 볼 수 있습니다. 개인적으로는 잘 읽혀집니다. 

 

3. 책을 읽고 난 후
저는 프로그래밍 책을 볼 때 꼭 예제코드를 반복해서 입력해서 결과를 확인합니다.
잘 이해되지 않으면 다시 입력하고 책의 설명을 보고 다시 결과를 확인하기를 반복합니다.
이렇게 공부하는 방법이 맞는지는 잘 모르겠습니다.
코드를 입력하면서 에러를 만나기도 하고 일부러 에러를 유발시켜 보기도  합니다.
이 책에서도 에러를 유발시키는 코드를 넣어 설명하고 있습니다.

아직 저자의 동영상 강의는 들어보지 못했습니다. 시간 내서 꼭 동영상 강의도 볼 계획입니다.

저는 알고 있는 내용은 대부분 스킵하고 개념이해가 부족한 부분만 보았습니다.

자바를 독학을 계획하고 있는 분이라면 이 책을 선택해도 무난하다고 생각합니다.

본 리뷰는 한빛미디어로부터 도서를 제공받아 작성되었습니다.

표지

역시 한빛미디어!

책을 받기 전 부터 ‘역시 한빛미디어가 만들면 다르구나’ 라는 생각을 하게 만들었다. 깔끔하고 어렵지 않으면서도 세련된 디자인에 감탄하였다.

JAVA 8&11 지원

책장을 펼치기 전 까지만 하여도 굉장히 매력적인 문구였다. 자바11이라니… 기대가 되지 않을 수 없을 것이다. 하지만 속 내용은 다소 실망스러울 수 있다. 관련 내용은 후술할 것이다.

무료 동영상 강의

솔직히 말하자면 필자는 동영상 강의에 대해 큰 매력을 느끼지는 못 하였다. 필자가 프로그래밍을 제대로 배워보고자 결심하고 처음으로 읽었던 책인 한빛미디어의 “이것이 C언어다”에도 동영상 강의를 제공 하였지만, 동영상 강의의 속도와 필자의 학습속도 사이의 간극으로 인하여 답답함을 자아냈기 때문에 잘 활용하지는 않았다. 물론 책 본문의 내용이 충분히 친절하여 동영상 강의에 기대지 않고도 쉽게 이해가 된 덕도 있었을 것이다. 이는 사람에 따라 편차가 큰 부분이기에 이 이상으로 동영상 강의에 대해 언급 하지는 않겠다.

245개의 손코딩 예제

표지를 보면서 가장 놀랐던 부분이다. 보통의 프로그래밍 언어 교재에서는 ‘손코딩’이라는 단어를 사용하지 않는다. 하지만 필자는 손코딩이라는 행위가 언어를 처음 배우는 사람에게 있어서 가장 효율적인 학습방법이라고 생각한다. 언어의 문법을 이해하고, 적용해 보는 과정을 거쳐야 개념을 제대로 습득할 수 있기 때문이다.

별책 용어 노트

처음에는 별책 용어 노트라는 것이 무엇을 의미하는 지 잘 이해하지 못 하였다. 하지만, 뒷표지를 넘기자 나온 별책은 필자의 감탄을 자아냈다. 초보자들이 혼동하기 쉬운 단어들을 여러 번 쉽게 찾아볼 수 있도록 만든 세심한 배려는 한빛미디어에 대한 사랑을 증폭시켰다.

내용

깔끔한 배색과 디자인

필자가 한빛미디어를 좋아하는 또다른 이유는 깔끔한 배색과 디자인에 있다. 눈이 불편할 정도로 화려하거나, 너무 심심하지 않은 배색은 읽는 동안 필자를 즐겁게 해 주었으며, 깔끔한 디자인과 글의 배치는 내용의 이해를 도왔다.

7단계 구성

체계적으로 내용이 구성되어 읽기 편한 점이 물론 부각되었지만, 이는 대부분의 책이 가지고 있는 보편적인 특징이니 더이상 이야기하지는 않을 거이다.

손코딩 예제

사실 예제를 보면서 적잖게 놀랐다. 다른 책에서는 볼 수 없었던 친절하고 풍부한 예제는 초보자에게 큰 도움이 될 것이라고 확신할 수 있었다. 상상을 초월하는 분량의 깔끔한 예제를 만나볼 수 있었다.

JAVA 8&11

물론 초보자들이 알아야 할 내용들을 충실히 다룬 책인 것은 사실이지만 새로 나온 기능들을 거의 다루지 않는 모습을 보여주었다는 점이 다소 실망스러웠다. 표지만 보았을 때에는 람다, var 타입 추론, 스트림 api 등의 내용을 다룬 책이라 생각하여 매우 좋은 지식이 될 것이라고 기대하였기 때문에 내용을 보고 실망할 수 밖에 없었다.

결론

한빛미디어의 책 다운 세련된 디자인과 친절하고 풍부한 내용은 기대할 만 하다. 또한, 기존의 책보다 진보된 예제와 이 책의 특징인 별책 용어 노트는 그 기대를 증폭시킨다. 하지만, 조금은 실망스러운 JAVA 8&11 지원은 옥의 티라고 할 수 있을 듯 하다.

자바를 처음 배우는 사람에게는 고민없이 바로 이 책을 추천할 수 있겠지만, 프로그래밍을 어느정도 할 줄 아는 사람에게는 불필요하게 친절하면서도 심화적인 내용은 다루지 못 하는 애매한 위치에 있다고 볼 수 있을 것 같다.

 

20190625_182944.jpg

 

 

초보자도 경험자도 품을 수 있는 책 

 

 

초보자들이 혼자서도 공부할 수 있게 하겠다는 컨셉에 맞춰 만들어진 책이라서, 아주 사소한 부분들에 대해서도 자세히 다루고 있습니다. 저는 개발 관련 입문서를 볼 때 개인적으로 가장 중요하게 생각하는 부분이 얼마나 많은 사람들을 품을 수 있는지입니다. 아무것도 모르는 초보자들만 대상으로 하면, 한 번이라도 프로그래밍을 해본 사람들에게는 과잉 친절로 느껴져서 학습에 지루함이 느껴질 수도 있는 문제가 생기고, 유경험자만을 대상으로 하면 초보자들에게는 알아듣기 어려운 소리만 하는 책으로 느껴져서 얼마 펴지도 못하고 라면 받침대가 되어버리기 때문입니다. 그런 면에서 이 책은 초보자도, 경험자도 품을 수 있는 친절함과 깊이감이 적절한 균형을 이루고 있는 책인 것 같습니다. 

 

입문자를 위한 Tip

책에 있는 손코딩 예제(245개)를 직접 시도해보기

흐름도 없고 맹목적인 반복은 실력 향상에 도움은 되지만, 속도감을 느끼기 어렵습니다. 하지만, 이렇게 쉽고 방향성을 잡아주는 책을 이용한다면 한 번 학습해도 제대로 각인시킬 수 있습니다. 245개의 예제가 많게 느껴질 수 있지만, 요령이 생기면 결코 많은 양도 아니고, IDE가 잘 되어 있어 시간이 오래 걸리지 않습니다.

 

확인 문제 풀기

확인 문제는 챕터마다 등장하는데, 그간 공부한 내용들 중 중요한 부분들을 위주로 구성되어 있습니다. 학습을 마치고 정리하는 개념으로 한 번 풀어주는 것이 좋습니다.

 

 

 

 

 

총평

 

'이것이 Java다'라는 책을 집필한 경험과 무수히 많은 강의 경력을 가진 저자의 노하우가 책에 녹아있다고 생각합니다. 책의 이름대로, 전공자와 비전공자를 구분할 것 없이 혼자 공부할 수 있는 자바 입문서이고, 입문자에게 최대한 방향을 잡아주는 방식으로 책을 구성하여 주저할 것 없이 추천할 수 있는 입문서라고 생각합니다. 그리고 혼공 사이트를 이용하면 자기의 페이스에 맞춰 혼자 공부하지만, 동영상 강의나 학습단, 커뮤니티를 활용하여 외롭지는 않게 공부할 수 있습니다.


 

혼공자바 혼자 공부하는 자바 한빛미디어 자바 독학 추천도서 (2).JPG

 

혼공자바 [혼자 공부하는 자바] 한빛미디어 #자바독학 #추천도서 #프로그래밍

 

 

자바 공부 시작.

수많은 컨텐츠 속에서 홀로 스터디가 불가한 사람들을 위해 출간된 한줄기 빛같은 책. 그게 딱 첫 느낌이었다. 

'자바 프로그래밍에 관심있는 일반인 누구나' 학습 가능하다고 하니 나의 수준에 딱 맞는것. 

 

책에서는 혼공자바 -> 이것이 자바다 순으로 학습하는것을 추천하는데, 모두 신용권 저자분이 지은 책. 

오랜 현역+강의를 하셨는데 다양한 사람들을 접하고 가르쳐보며 가려움을 긁어줄 수 있는 혼공 책을 펴내지 않았을까 싶다. 

우연히도? 집에 모든 책이 있으니 2019년 하반기 안에 독파하는것을 목표로 시작해보기로 한다. 

 

자바에 대해 1도 모르지만 혼공 자바책을 (앞부분을..) 보며 리뷰를 작성한 것이라 본문에 앞서 솔직히 말해본다. 

 

혼공자바 혼자 공부하는 자바 한빛미디어 자바 독학 추천도서 (3).JPG

 

혼공자바책은 제일 끝부분에 '혼공 용어 노트'를 부록으로 수록하고 있으며,

JAVA8&11을 지원하는 무료 동영상 강의

깔끔하게 정리된 학습 사이트 (hongong.hanbit.co.kr)

질문답변이 가능한 네이버 카페 (cafe.naver.com/thisisjava)로 혼자 공부하지만 혼자가 아닌 시스템을 갖추고 있다. 

 

+ 혼공학습단(제1기)가 ~7.17모집 / 7.22~8.31학습 스케쥴로 진행된다고 하니, 

진짜정말 공부 하고싶은데 - 혼자 공부 도저히 못하겠다 싶으면 학습단 신청해보는것도 강제 학습에 도움이 될 것 같다. 

(신청도 해놔서 큰일이다...ㅎㅎ 1기라고 하는데 한빛이 워낙 부지런해 반응이 좋으면 2. 3기도 있을것 같은 예감이-)

 

 

혼공자바 혼자 공부하는 자바 한빛미디어 자바 독학 추천도서 (4).JPG

 

책은 680페이지로 다른 책에 비해 얇긴 얇다. 

자바 언어 소개와 자바 개발 도구 설치 (오라클 JDK와 이클립스)로 책 내용이 진행된다. 

동영상 강의는 일단 카페를 통해 정말 부지런히 업로드 되고 있다. ( 19.7 아직 완강은 아닌듯)

 

혼공자바 혼자 공부하는 자바 한빛미디어 자바 독학 추천도서 (5).JPG

 

배우고자 하는 난이도에 따라 커리큘럼을 제공하고 있다. 

기초이해 / 고급개발로 나누어 스터디가 가능한데 우선 기초를 이해하는 방향으로 목표를 잡고 보는것이 좋을것 같다.

무엇이든 기초가 중요하니까. 기초가 탄탄하면 응용할 때 조금이라도 힘이 되지 않을까 생각된다. 

 

혼공자바 혼자 공부하는 자바 한빛미디어 자바 독학 추천도서 (6).JPG

 

혼공자바 혼자 공부하는 자바 한빛미디어 자바 독학 추천도서 (7).JPG

 

혼공 자바책에서 중요한 '손코딩'용 예제.

프로그래밍에 최적화된 직관적인 폰트를 사용해 오류를 줄이려고 노력한 모습이 엿보인다.

여러 예제 책을 보다 보니 따라적기에 좋은 폰트가 따로 있던데 그래 바로 이거였지 ! 반가웠다. 

이클립스 기본?폰트랑 같아서 스펠링 틀린것 찾기 좋기도 하고 :)

 

혼공자바 혼자 공부하는 자바 한빛미디어 자바 독학 추천도서 (8).JPG

 

혼공자바 혼자 공부하는 자바 한빛미디어 자바 독학 추천도서 (9).JPG

 

코드에 그림을 그려 설명을 더욱 쉽게해주고 있다. 

전공자가 아니기에 말이나 그냥 설명글로는 쉽게 이해되지 않는 부분이 있다.

관계도나 그룹을 그림으로 그려주면 정말 큰 도움이 되는데 책 전체 소스코드에 하늘색으로 강조가 되어있어 핵심을 빠르게 이해할 수 있는 장점이 있다. 

 

정말 가이드가 필요했는데. 

매우 반가운 책. 

이 마음 그대로 완강하길 바라며.. 

 

 

어떤 공부든지 자발적인 동기로 스스로 학습하는 것이 학습 효과가 가장 좋다.

프로그래밍을 스스로 공부해야 겠다는 생각을 해 본적이 있는가? 경험적으로 10명 중 4명은 어플리케이션을 만들기 위해서라고 말했다. 물론 정확한 수치가 아니지만, 필자도 프로그래밍을 처음 배웠을 때가 무언가 만들고 싶었고, 윈도우 기반의 프로그램은 내가 무언가 하기 어렵다고 막연하게 생각했지만, 어플리케이션은 나도 할 수 있다는 생각이 들었다. 안드로이드 기반의 프로그램을 만들고 싶다면 자바를 알아야 하고, IOS 기반의 프로그램을 만들고 싶다면 Objective-C를 다룰 수 있어야 한다. 최근에는 Swift라는 간단한 문법의 언어가 나왔지만 자바와 Objective-C 모두 프로그래밍 지식이 전무한 상태에서 하기는 어렵다. 물론 나도 호기롭게 자바 책을 사서는 혼자서 독학하려는 시도를 하였다가, 환경 설정 후 기초 구문 몇개 입력하고는 그만두었다. 이후에는 돌고 돌아, Python으로 객체지향프로그래밍에 대해 익히고, 넘어오니 한결 수월하게 자바를 이해할 수 있었다. 그런데 만약 OOP에 대한 개념이 없는 학습자가 처음부터 자바를 익히려 한다면, 무엇보다 친절하고 꼼꼼히 설명해 주는 책으로 공부해야 한다. 이 책을 보면서 느낀 장점을 정리하면 다음과 같다.

1. 개념 정리 노트

- 혼공 용어 노트에는 학습한 단원에서 핵심이 되는 용어에 대한 설명과 간단한 예시가 나와있다.

- 전문가가 되는 가장 기본은 전문용어를 정확히 이해하고 사용할 수 있느냐이므로, 학습 이후에도 기억에서 사라질 때쯤 눈으로 익히고 실습을 해보기를 권한다.

2. 초보에게 알맞는 내용 구성

- 첫술에 배부를 수는 없다. 그렇기에 처음부터 너무 많은 내용을 공부하려 하기보다는 핵심적인 내용을 잘 파악하는게 좋다.

- 이 책의 챕터 10까지는 필수적으로 이해해야 할 내용이다. 여기까지 충분히 익히고, 자료구조와 병렬처리 등 고급 개념을 배우고 싶다면 이후 챕터를 학습하기를 권한다.

3. 단계적으로 개념을 제시하면서 반복적으로 설명하는 서술 방식

- 이 책의 가장 큰 장점은 과외 선생님이 옆에서 하나씩 집어가며 설명하듯이 상세하게 설명해 주는 것이다.

- 만약 해당 개념을 아는 사람에게는 좀 지겨울 수 있지만, 자신이 알고 있는 개념도 다시 떠올리며 정리하기 좋다고 생각한다.


혼자 공부하는 자바 :: 이클립스와 자바 설치부터 혼공!

 

이미지 5.jpg

 

 

 

대학에서 자바프로그래밍이라는 강의를 수강하게 되어 자바를 공부하게 되었습니다. 교수님께서 진도를 빨리 나가시는 것에 비해 제대로 따라가지 못했고, 모르는 부분이 많아졌습니다. 강의가 코드를 직접 짜며 진행하는 것이라 모르는 문법이 있다면 진행하기가 어려웠고, 코드를 짜는 과정에서 클래스 생성에서 생성자가 어떤 역할을 하고, 컬렉션 프레임워크의 해쉬맵, 해쉬테이블 등을 어떻게 사용하는지를 몰라 헤메고 있었습니다. 그러다 혼자 공부하는 시리즈 독자 리뷰어에 참여하게 되었습니다.

 

 


 

 

여러 자바 책을 봐보았지만 "혼자 공부하는 자바" 책은 어려워 하던 부분을 쉽게 풀어서 알려줍니다. 예를 들면, 제가 어려워하던 생성자의 역할, 컬렉션 프레임워크의 해쉬맵, set, list 등을 한 유닛에 걸쳐 설명해줍니다.

 

 

2.jpg

 

 

책을 처음 보는 사람이 궁금해할 수 있는 부분을 알기 쉬운 용어로 설명해줍니다. 그냥 넘어갈 수 있는 부분을 짚어주며, 그 부분에 대해 자세히 설명해주어 자바를 공부하며 궁금했던 것들이 책에 다 나와있습니다. 자바를 공부하다 모르는 부분이 있으면 바로 구글에 검색을 하고는 했는데, 이 책을 받고 나서는 책의 목차에서 모르는 부분의 유닛을 찾아봅니다. 그만큼 초보자에게 보기 쉽게 되어있습니다.

 

 


 

 

책의 뒷편에는 "혼공 용어 노트" 라는 것이 있어 책을 보다가 모르는 용어가 있으면 이 노트를 보면 됩니다.

 

목차는 가나다, ABC 순으로 되어있어 보기가 편리합니다.

 

용어 정리 된 것을 보면, 책을 보다가 모르는 용어, 축약 된 용어의 뜻, 연산문 예시 등이 나와있어 자바로 코딩을 하게 된다면 개발 전에 보기 좋을 것 같습니다.

 

 

3.jpg

 

 

 


 

 

이 책은 용어 정리가 잘 되어있고, 쉽게 지나쳐버리는 핵심적인 부분이 나타나있어 자바에 처음 입문 하는 분들이나 자바를 알지만, 핵심 부분을 몰라 헤매는 분들, 단기간에 자바를 공부하셔야 되는 분들이 보시면 좋을 것 같습니다. 

 

 

자바라는 언어는 저에겐 조금 거리가 있는 언어입니다. 대학생 때 처음 배우고, 사회 초년생 때 잠시 사용했지만, 회사에서 자바가 아닌 다른 언어로 개발을 하고 있기 때문에, 자바를 잘한다는 말은 절대 못 하겠죠.

안드로이드 앱을 만들어 보고 싶어서 자바를 잠시 사용해보고, 누구나 하는 건 조금 해야 하지 않나 해서 자바로 개인 프로젝트도 해보고 했지만, 주로 쓰지 않으니 자연스럽게 잊어버리는 것이 생겼습니다. 물론 새로 생긴 것들도 배울 이유가 없는 상황이었습니다.

이번 기회에 '혼자 공부하는 자바'를 통해 한동안 잊고 지냈던 자바 지식을 갱신시켜보고자 공부를 시작했습니다.

공부기간

책 이름에서부터 알 수 있듯, 입문자를 위한 서적이기 때문에 많은 시간을 투자하려고 생각하지는 않았습니다. 홈페이지를 통해 공부 일정을 확인하고, 강의도 들을 수 있었지만, 짧은 시간으로 가능한 많은 지식을 얻어내는 걸 목표로 했습니다. 일정을 따로 짜지는 않고 하루에 1~2시간 정도 시간을 내서 책을 정리했습니다.

저의 경우에는 책의 마지막 내용을 읽고 정리하는 것까지 4일 차에 마무리했습니다. 시간으로 따지면 7시간 정도 소요되었는데, 아래 공부 방법에서 이야기하겠지만 이미 개발을 일로 하는 상태에서 빠르게 몰랐던 내용을 정리하면서 읽었기 때문에 걸린 시간입니다. 입문용으로 공부를 한다면 일반적으로 배 이상 걸리지 않을까 싶네요.

공부 방법

적은 시간으로 자바에 대한 잊어버린 개념을 빠르게 채우고 싶었기 때문에 책에 있는 손코딩은 따로 하지 않았습니다. 물론 직접 코딩하면서 얻는 지식은 말로 할 필요 없이 중요하지만, 회사에서도 하던 코딩을 공부하면서까지 하고 싶지는 않았던 게 사실 가장 컸습니다. 대신, 단어 하나하나에 집중해서 글을 읽고, 지금 사용하는 언어와 다른 점이나 문법이나 개념에 대해 잊고 있었던 점이 보이면 포스트잇으로 표시해놓고, 해당 내용을 정리하는 방식으로 진행했습니다. 책을 마무리하는 시점에는 제가 자바에 대해 몰랐던 부분만을 정리해 놓은 가장 좋은 요약본이 될 거라 생각했습니다.

공부를 했던 주요 포인트

1장부터 5장까지 프로그래밍에 대한 기본적인 내용들(IDE, 변수, 연산자, 조건문...)은 최대한 빨리 확인하며 지나갔습니다. 크게 달라진 점은 없지만, 확실히 최근에 나온 책이라 JDK 11 이후로 변경된 점들을 설명한 부분이 눈에 띄었습니다. 자바를 쓴지 오래되었다는 걸 약간 실감할 수 있는 부분이기도 했는데요. 나머지 내용은 현재 사용하고 있는 언어와 비교해서 차이점이 있으면 줄을 치고 포스트잇으로 표시를 했습니다. 표시한 내용들은 저에게 가장 빠르게 자바의 특징을 설명해주는 부분들이니 따로 정리를 했습니다.

손코딩을 할 수 있도록 코드를 작성해둔 부분이 각 부분마다 많이 있었는데, 딱히 코딩과 더 친해질 필요는 없다고 생각해서 설명한 부분이 해당 코드에서 사용된 내용만 밑줄을 긋고 넘겼습니다. 내용이 꽤 많아서 손코딩을 다 한다면 코드 치는 데에는 꽤 익숙해지지 않을까 싶었습니다. 각 파트마다 있는 마무리 문제들은 꽤 재미있기도 하고, 아는 내용을 확인하는 데 도움이 됐습니다.

6장부터 클래스에 대한 내용이 나오고, 이후 인터페이스와 상속 같은 내용들이 나오는데 입문 서적이다 보니 클래스나 인터페이스의 설계 같은 심화적인 내용보다는 자바에서 해당 내용을 어떻게 구현하는지에 대한 부분을 초점을 두고 설명이 진행됩니다. 입문서에서 해줄 수 있는 내용은 최대한 담겨있다고 보았고, 저는 주로 읽으면서 자바 문법 자체에 집중했습니다. 당장 사용할 일이 생기지는 않을거라 생각해 앞부분에서 정리 한 것처럼 코드를 문법 노트처럼 만들어서 정리해두었습니다.

12장 이후로 나왔던 쓰레드, io에 대한 내용은 개념적으로만 확인하고 넘어갔습니다, 의외로 도움이 많이 되었던 부분은 java.util 패키지에서 제공하는 컬렉션에 대한 설명이었습니다. 자바를 공부해보겠다고 자바로 풀었던 알고리즘 문제나 개인 프로젝트 개발을 할 때 '어떻게 처리해야 하지?' 하는 부분에서 명확히 알고 있는 것과 모르고 있는 것의 차이를 가장 많이 보이는 부분이 이런 컬렉션을 사용하는 부분이라고 느꼈던 적이 많았기 때문입니다.

공부 후기

공부를 마친 시점에서 느끼는 점으로는, 개발을 일로써 하는 사람들이 이 책의 모든 내용을 곱씹으면서 진행하기에는 지루하다는 생각이 들 수 있겠다는 것이었습니다. 물론 이 책은 입문자를 위한 책이기 때문에 이런 느낌을 받는 게 너무나도 당연하겠지만요.

그러나 다른 언어로 개발을 하고 있다거나, 자바를 사용한 지 오래돼서 이미 배운 내용임에도 정말로 알고있다고 말하기에는 조금 애매한 사람들에게 '자바'라는 언어 자체만을 빠르게 훑고 넘기는 걸 목표로 한다면 분명히 도움이 되는 책이라 생각합니다.

저 역시 자바 프로젝트를 한 지 정말 오래돼서 '이전에 자바를 해봤다'는 것 이상으로는 설명하기 애매한 실력이었고, 큰 목표를 위해서 자바 공부를 시작한 것은 아니었습니다. 그러나 이 책을 통해서 들인 시간 대비 자바 언어에 대한 익숙함의 향상이나 기본적인 내용을 정리할 수 있다는 점은 충분히 매력적인 부분이었습니다.

흔히 '자바 공부'를 위해서 천 페이지가 넘는 두꺼운 자바책으로 공부를 시작하거나, 무작정 자바 개인 프로젝트를 시작하는 주변 사람들을 많이 봤습니다. 그러나 실제 업무를 위해 공부하는 게 아닌 이상, 두꺼운 책으로 공부를 하면 끝까지 공부할 수 있는 경우가 거의 없었고 이전에 배웠다는 수준으로 자바 프로젝트를 시작하면 딱 아는 수준에서만 개발을 하게 되니, 흔히 말하는 프레임워크 사용법만 익히는 정도로 끝을 내는 경우가 많았습니다.

이 책에서 다루는 내용이 자바의 언어적 특성에 맞춰져 있기 때문에 이 책만으로 자바를 전부 공부했다고 말할 수준은 아닙니다. 책에서도 이 책으로는 입문을 위한 정도까지이고, 더 자세한 내용은 고급 수준의 서적을 통해 배우라고 되어있기도 합니다.

이 책은 입문자들을 위한 책이지만, 모든 사람들이 자바를 배우는 이유가 다양하듯 저와 같이 자바를 다시 시작해보려는 사람들에게 짧은 시간으로 자바 공부에 대한 워밍업을 할 수 있는 첫 단계로써는 충분히 도움이 되는 책이라고 생각합니다.

 

이번 책또한 혼자 공부하는 시리즈와 마찬가지로 입문자를 대상으로 한다는 것이 체감 되었습니다.

자바치고 600페이지면 애매한 분량임에도 필요한 설명이나 예제를 충분히 담아 학습하는데 지장이 없었습니다. 자바가 추구하는 점이나 컴퓨터 구조에 대한 다양한 정보를 포함하는 것 또한 좋았습니다.

언어의 기본인 변수, 연산자, 조건, 반복 등 주요 개념이 설명이 잘 되어 있었습니다. 객체 부분에서는 다른 책에서도 보았듯 정석을 따라간 느낌이라 색다른 점은 없었습니다. 고급편 또한 깊이가 좀 부족한 것 같아 아쉬웠습니다. 

책의 장단점을 정리하자면 다음과 같았습니다.

장점

  1. 입문서로써 가볍게 자바를 훑고 가기에 좋다
  2. 혼공 용어 노트부터 여러 도움을 주고 있어 혼자 공부하기 좋다

입문서의 정석을 잘 따라간 책이라 생각되기에 단점은 크게 없었다. 몇 가지를 선택한다면 객체를 설명하는 방식이나 고급편의 깊이 부족을 말할 수 있을 것 같습니다.

 입문자에게는 적당한 분량과 혼공을 위한 여러 도움, 팁까지 부족한 것이 없는 것 같았습니다. 입문자에게 포커스가 맞추어지다 보니, 자바의 깊이를 챙기기 못한 것 같아 살짝 아쉽지만 책의 전반적인 설명이나 내용이 준수하기에 괜찮았습니다. 본 책 또한 입문자에게는 탁월한 선택이라 생각됩니다.

 

회사에서 스프링 기반 프로젝트를 경험했었는데,

대학교 이후로 자바를 오랫만에 접하는 거라 기초지식이 너무 부족했습니다.

( 안쓰니 다 까먹을 수 밖에..ㅠㅠ )

그때 프로젝트를 병행하면서 구글 검색 혹은 oracle 사이트를 통해 번역해가며 

공부한게 다였습니다.


그러던 중 우연히 혼자 공부하는 시리즈의 리뷰어를 모집하는 메일을 받고 혹시나 하는 마음에 

신청했었는데,운좋게 당첨되어 이렇게 리뷰를 쓰게 되었습니다.


지금부터는 정말 솔직하게 적어보겠습니다.


1. 책 구성

다른 자바 기본서와 달리 그림이 많아요. 

그림이 많다는 말은 눈으로 머릿속에 구조를 그려볼 수 있다는 점에서 좋았습니다.

언어를 처음 배우는 학생이나 초보자들에게 조언하는 공부방법은 무조건 책에 있는 예제부터

따라서 쳐보고 손으로 익혀야 한다고 하지만, 이 책처럼 그림으로 먼저 구조를 보여주고 

간단한 손코딩 예제를 포함해서 부담없이 타이핑 할 수 있는 짤막한 코드량이어서

기억하기 쉽게 구성되어있습니다.

그리고 챕터마다 핵심포인트 와 확인문제가 있어서 각 챕터의 정리가 잘 되는 것 같아요.

특히 시작부분 챕터에 환경 구축 ( 이클립스 설치 및 라이브러리 세팅 ) 은 삽질없이 

친절하게 설명되어 있어 크게 어려움은 없을 것 같습니다.


2. 책 내용

다른 언어 기본서의 구성처럼 , 변수나 타입, 조건문 등으로 시작해서 클래스, API , 스레드, 컬렉션 

등으로 자연스럽게 넘어가는 구성이며 오로지 자바 기본 문법에 충실하고 있습니다.

깊이 있는 내용을 학습하기엔 이 책만으로는 조금 부족할 수 있습니다.

이 책의 마지막장을 읽고 난 후 다음 로드맵을 위한 코멘트가 없어 조금 아쉽긴 합니다.

하지만 그만큼 이 책 한권을 다 보고 나서는 기본기에 대해서는 자신감이 생길 것 같습니다.

나머지 부분은 구글링이나 이펙티브 자바 시리즈같은 책으로 한단계 더 업그레이드 하면 좋을 것 같아요.


3. 총평

초보자도 부담없이 학습할 수 있는 좋은 책이 나온 것 같아서 추천드립니다.

무엇보다 혼자서 자바를 공부한다 했을때, 괜찮은 내용전개방식이였다.   그리고 맨 뒤에 나오는  용어 혼공노트또한  혼자 독학하는 학생에게  지하철 오고며 읽는 용도로도 딱이다 싶었다.

 하지만 아쉬웠던 부분들도 많았다.  자바같은 객체지향 언어의 경우,  객체 지향 파트 설명이 제일 중요하다 싶다.

앞에 나오는 변수, 연산자, 반복문, 조건문 등의 기본 개념들은 다른 책들과도 비슷하고  설명하기 쉬운 반면,   클래스라는 단원부터 어떤식으로 설명하는지에따라  이해정도가 급격히 갈리는데,  비유를 든 내용도 그렇고 아쉬웠다.

 

주말에 코딩학원에서 학생들에게 자바도 가르치지만,  객체지향 설명을 쉽게 받아들이려면 현 책에 나오는 내용처럼 설명해선 안된다. 저건 다 구현해본 사람들이 나중가서 읽을때 그렇지 ㅇㅇ 하고 넘어갈만한 내용이니까.

 

그럼에도 이 책을 추천하고싶은 이유는,  클래스라는 파트 빼고는 설명이 너무 괜찮게 잘 됀 책이다. 그리고 따라하면서도 충분히 실력을 키울 수 있는 책이라 판단되고,  읽으면서도 좋다 좋다. 란 소리가 절로 나왔던 책이기에  처음 공부하고, 혼자 공부하는 학생이라면 추천드린다.


IMG_9162.JPG

 

프로그래밍 언어들은 하드웨어와 플랫폼들이 변화하면서 함께 변화하고 있다. 많은 프로그래밍 언어들이 사라졌고,

앞으로도 새로운 언어들이 등장함에 따라 기존의 많은 언어들이 대체될 것이다.

 

이러한 상황에서 우리는 어떤 언어를 어떻게 배워야할까? 매번 유행을 타는 언어를 프로그래밍 입문자들에게 가르쳐야

할까? 지인들로부터 자주 프로그래밍 언어에 대한 입문 책을 추천해달라는 요청을 받는다. 그때마다 가장 고민되는 것은

어떤 언어를, 어떤 난이도의 책을 통해서 학습해야 가장 효율적으로 학습할 수 있을까 하는 것이다.

 

대체적으로는 언어를 자바를 추천하는데 그 이유는 다음과 같다. 프로그래밍 언어의 종류에는 컴파일러 언어와,

인터프리터 언어가 있다. 컴파일러의 대표적인 언어는 C/C++가 있고, 대표적인 인터프리터 언어는 Python이 있다.

자바는 초기에는 인터프리터 언어였으나, 성능상의 문제가 제기되면서 자바 컴파일러와함께 하이브리드(?)처럼 사용되고

있다. 자바컴파일러는 소스코드를 바이트코드로 변경하고, 자바가상머신이 바이트코드를 기계어로 변환하는 인터프리터의

역할을 한다. 그러므로 자바를 학습하면 프로그래밍 언어의 대분류에 속하는 인터프리터와 컴파일러의 구분개념을

초심자가 익힐 수 있는 것이다. 그리고 나는 그 개념을 바탕으로 다음에 목적에 맞는 언어들을 더 빠르게 습득할수

있을거라 생각한다.

 

그러면 문제는 자바에서 어떤 책을 추천하냐는 것인데, 나는 이 책이 입문서로 매우 적절하다고 생각한다. 그 이유로는

다음과 같다.

첫째, 자바의 문법만을 다루는 것이 아닌, 책 틈틈히 자바에 대한 다양한 개념들을 설명해두었기 때문이다. 언어를

배우는 초심자에게, 첫 언어는 단순히 문법만을 가르치는 것이 아닌 이후에 언어습득 및 프로젝트를 진행하기 위한

하나의 기준이 되어야한다. 그러기위해 입문서는 한 언어에 대한 다양한 (때로는 너무 방대해서 한 권의 책으로

담을 수 없는) 내용들을 효과적으로 전달하는 매개체가 되어야한다.

둘째, 책의 커버리지와 구성이다. 언어는 깊게 들어가면 그 커버리지가 한도 끝도 없다. 하나의 언어를 잘한다고 말

하기 힘든 이유도 그것이다. 그렇기때문에 입문서는 적절한 범위내에서 필요한 개념들을 효율적으로 설명해야한다. 이

책에서는 14개의 챕터를 효율적으로 구성하여 자바의 문법과 핵심이되는 객체지향의 개념을 설명하고, 이후 후반부에

실제 프로젝트에서 많이 사용되는 기능들을 설명하고 있다. 그리고 많은 예제들을 통해 반복적으로 학습을 시키기 때

문에, 학습자가 자바에 빠르게 익숙해질 수 있다 (이론과 실습의 비율이 좋다).

 

이 책을 통해서 입문자에게 기대할 수 있는 내용은 아래와 같다

- 프로그래밍 언어 개념에 대한 기초를 다질 수 있다.

- 자바 문법과 다양한 예제들로 익숙하게 사용할 수 있다.

- 클래스의 개념과 객체지향의 개념을 익힐 수 있다.

- 실제 프로젝트에서 유용할 기능들 (Java API, Thread, Collection 등)에 대한 기초를 다지고, 그것을

기반으로 학습자는 프로젝트를 진행하면서 필요한 라이브러리와 기능들을 스스로 학습하여 적용할 수 있다.

 

프로그래밍 입문서로 지인들에게 추천할 의향이 있으며, 개인적으로는 앞으로 개정에서 Oracle JDK와 함께 Open JDK를

소개하면 좋을 것 같다. 최근 Oracle JDK가 상업적 이용이 유료화됨에 따라 앞으로 Open JDK가 더 보편적으로 쓰일 것

이라 생각도 들고, 프로그래밍 입문자들에게 오픈소스의 정신을 입문단계에서 알릴 수 있는 좋은 기회이기 때문이다.

저자의 또 다른 자바 책인 '이것이 자바다'와 비교했을 때, 이 책은 정말 '프로그래밍을 혼자 입문'하려는 이들에게 더 좋은 책이라 생각됩니다. 내용은 서로 비슷합니다. 정확히는 '이것이 자바다'의 일부 내용을 잘 가다듬고, 초보자들이 지루해할 내용을 뺀 책이라고 볼 수 있습니다. '이것이 자바다'에 비해서 일부 내용들이 빠져있는데, 가령 프로그래밍 입문자들이 어려워할 실수타입의 구조나, 프로그래밍 입문자들이 잘 사용할 일 없는 쉬프트 연산, 혹은 객체 지향의 다소 지루한 설명들을 뺐습니다.

대신 입문자들에게 꼭 필요하지만, '이것이 자바다'에서는 빠져있었거나, 파편화 돼 있었던 부분들을 재구성했습니다. 가령 '입출력'은 프로그래밍 입문에 가장 기본적인 부분임에도 불구하고 많은 수의 책들에서 입출력의 설명을 필요할 때에 조금씩 하는 형태로 파편화해놓은 경우를 많이 보았습니다. 솔직히 '이것이 자바다'역시 그러했습니다. 하지만 '혼자 공부하는 자바'의 경우에는 한 개의 소단원을 할애하여 입출력에 대해 구조적으로 설명하고 있습니다.

프로그래밍을 할 때, 자신의 프로그램이 정상적으로 동작하는지 확인하는 가장 기초적이고 확실한 방법이 입출력을 이용한 프로그래밍과의 소통임을 고려할 때, 아주 좋은 선택이라고 생각됩니다.

그 외에도 개발 환경 구축 등이나, 객체지향 설명에서 불필요한 부분을 빼고, 입문자들에게 필요한 부분만을 잘 전달했다고 생각이 듭니다.

또, 각 단원의 마지막에서 용어정리를 해주는 정도에서 벗어나, 책의 부록으로 용어 정리집을 제공합니다. 어느 분야든 처음 접할 때는 많은 용어가 나와 정보의 홍수 속에서 혼란을 겪는 경우가 있습니다. 이런 경우에 부록이 큰 도움이 될 것입니다. 부록 외에도 저자의 강의도 제공되며, 별도의 사이트에서 Q&A역시 제공되므로 혼자 공부하심에 있어 궁금한 사항이나 어려운 사항이 있을 때, 쉽게 대처할 수 있을 것입니다.

 

책 내용 외적으로, 책이 두꺼운 한 권으로 구성되어있기 때문에 호불호가 갈릴 수 있습니다. 들고다니시면서 읽기에는 책이 좀 무거운 편입니다. '이것이 자바다'에 비해 종이 자체가 두껍고 무거운데, 한 권에 핵심 내용들을 다 담았기 때문에 어쩔 수 가 없다고 생각됩니다. '이것이 자바다'에 비해서는 가격이 6천원 저렴한 점은 장점일 것 같습니다.


다만, 프로그래밍 자체를 입문하려는 분들께는 아주 탁월한 입문서이나 이미 프로그래밍을 알고, 자바에 대해 깊이 있게 공부하시려는 분께는 다소 부족한 책일 수 있습니다. 앞에서 언급했던 바와 같이 '이것이 자바다'에 비해 깊은 내용은 일부 빠져있습니다. 개인적으로는 저자의 선택이 탁월했다고 판단합니다. 분명 프로그래밍 입문자들의 학습에는 장애물이 될만한 내용들을 배제한 것이니까요. 하지만 그렇기 때문에 이 책의 목표 독자는 더 확실해졌습니다. '프로그래밍 입문을 자바로 하려는 사람. 다른 프로그래밍 언어를 어느정도 알고 있지만 컴퓨터과학 자체는 아직 입문단계인 사람,' 으로 말입니다.

 

그럼에도 불구하고 자바의 입문에 필요한 모든 내용에 대해 친절하고 충실하게 다뤘기 때문에, 자바에 입문하는데 아주 적합하다고 생각이 듭니다.

이 책은 편하고 쉽게, 이후에 깊이 있는 공부를 위한 기반을 다질 수 있게 해줄 것 입니다.

한빛미디어의 <혼자 공부하는 자바> 리뷰어 이벤트에 당첨되어 작성한 리뷰입니다.


올 초 2월에 한빛미디어세요 혼자공부하는 시리즈 베타리더를 모집하였다. 자바, 파이썬, C언어 중에서 자바분야에 지원 하였다. 프로그래밍 언어를 다시 한번 공부하며, 좋은 책을 만드는데 도움을 주고 싶었기 때문이다. 그리고 그간 베타리더 경력(?)으로 쌓인 노하우와 자바 개발에 대한 학습팁을 아낌없이 전수하고, 후배(프로그래밍 입문자)에게 도움이 되는 좋은 책을 함께 만들고 싶었기 때문에 지원을 했지만. 결과는

예상했던 것보다 훨씬 많은 분들이 신청해 주신 덕분에

부득이하게 몇 가지 기준에 따라 참여자를 선정하게 되면서 금번 베타리더로는 모시지 못하게 되었습니다.

신청해 주신 모든 분들을 모시고 한빛미디어 도서에 대한 의견을 청취하고 싶었으나, 그러지 못해 매우 아쉽습니다.

죄송스러운 마음을 전하며,

한빛미디어에 보내주신 관심과 성원에 깊이 감사드립니다.

 

<혼자 공부하는 프로그래밍> 도서가 출간되면 독자평가단을 모집할 계획입니다.

이때 리뷰어 제안에 응해 주시면, 그때는 꼭 모시겠습니다!! ^ ^

넓은 마음으로 양해 부탁 드립니다.


그래서 혼자 공부하는 자바 리뷰어에 지원하여 이렇게 작성하고 있다. 이것도 떨어졌으면 ㅜㅜ


아무튼 ‘혼공자’에 대한 애틋한 감정이 있어 자바 서적은 많이 봐왔지만 좀더 꼼꼼하게 읽게 되었다.


먼저 이책 표지 디자인은 깔끔하게 디자인 되었고 눈에 띄는것이 자바8&11지원, 별책 용어 노트가 보였다. 지금 시중에 나온 자바8 문법인데 자바11이라니 정말 기대가 된다.


이책의 구성은 ‘혼자 공부하는 자바’ 7단계 길잡이를 제공 하고 있다.


1단계 핵심키워드

2단계 시작하기 전에

3단계 말풍선

4단계 직접 해보는 손코딩

5단계 좀 더 알아보기

6단계 핵심포인트

7단계 확인문제


각 장마다 이렇게 구성되어 있어 혼자서도 1:1 과외받는 것 같은 효과를 받을수 있다.


학습 가이드 ‘혼자 공부하는 자바’ 100% 활용하는 방법

  1. 본격적으로 학습을 시작하기 전에 JDK 설치, 이클립스IDE 설치 가이드 제공

  2. hongong.hanbit.co.kr , cafe.naver.com/thisisjava 에서 예제 파일 다운로드, 동영상 강의 보기, 저자에게 질문하기 등 한번에 해결 할수 있다.

  3. [스터디 그룹] 혼자 공부하는 프로그래밍 페이스북에서 자바 학습자들과 함께 학습할 사람을 찾을수 있다.


학습 로드맵

총 14장으로 1~11장은 기본편, 12~14장은 고급편으로 구성되어 있다.

1~5장은 대부분 프로그래밍 언어에서 공통적으로 다루는 자바에 대한 소개, 변수와 자료 타입, 연산자, 조건문과 반복문, 참조타입등 기초 내용을 학습한다.


6~7장은 자바를 포함한 객체 지향 프로그래밍언어에서의 핵심 내용을 설명하고 클래스와 상속 문법을 기반으로 학습한다.


8~9장은 객체지향 프로그래밍의 연장으로 적절히 활용할 수 있도록 인터페이스와 중첩 클래스의 역할을 학습한다.


10~11장은 예외처리와 기본 API 클래스를 학습한다.


12~14장은 자료구조나 병렬처리등을 다루는 문법으로 스레드, 컬렉션 프레임워크, 입출력 스트림을 심화 학습한다.


입문자일 경우 이책을 다읽는데는 2-3주면 무리 없이 학습할수 있을거라 생각합니다. 그리고 제목처럼 혼자 공부하는 자바 답게 입문자에게 친절하게 용어 하나하나 잘 설명하고 있고 별책으로 용어집도 제공하고 있다. 입문자들에게 가장 어려운게 각 장마다 핵심 맥락을 잡는게 어려운데 이책은 처음 들어갈때 핵심 키워드를 가이드 해주고 무엇을 공부할지에 대해서 개요를 그림과 도표로 설명을 하고 그리고 각 개념을 설명하고 개념에 찾는 예제를 손코딩 하면서 개념을 좀더 몸으로 익힐수 있게 도와 준다 그리고 마무리로 그장에 배운 핵심 포인트로 요약을 하고 확인문제로 제대로 공부 했는지를 체크 할수 있게 정말 잘 구성되어 있다.


자바를 중도에 포기 했거나 처음 입문 하는 분들에게 좋은 교제라고 생각이든다. 그리고 유튜브에 무료 강의도 현재 7강까지 업로드 되어 있어 많은 도움이 될거라 생각한다.

 

그러나 경력자 입장에서는 조금 아쉬운 점이 있다. 앞에 기대한 자바8&11지원이라는 말이 무색하게 문법적으로 람다, 스트림API , var 타입 추론, nest기반 접근 제어등 새로운 기능에 대해서는 다루지 않아서 실망이 크다. 하지만 그것만 빼고는 자바를 처음 시작하는 분들에게는 현재 나온 자바 책중 가장 적합한 책이 아닌가 생각합니다.

[리뷰] 혼자 공부하는 자바

 


개요

본 리뷰는 한빛미디어 출판사 "혼자 공부하는 자바"를 읽고 얻은 지식을 정리한 글입니다.

이 책을 읽으며 Java와 함께한 20년을 돌이켜보았다.


처음 Java와 만난건 2000년 어느날 프로그래밍 수업 시간이었다. 리뷰는 안하고 왜 갑자기 추억을 회상하는지 의아해 하실 분들이 계실지 모르겠다. 책을 읽기 전에 20년 간 Java를 익혀왔던 프로그래머의 회상과 푸념을 듣는다면 책을 읽으면서 본인이 어떤 학습 위치에 있는지 파악하기 쉬울 것이기에 향후 학습방향에 도움이 된다는 의미로 재미있게 읽어주셨으면 좋겠다.

  • 게시판과 메모장
    요즘 학부 프로그래밍 수업에서도 메모장 또는 웹 게시판을 만들라는 과제가 부여되는지 모르겠다. 처음으로 GUI 방식으로 메모장을 만들면서 느끼는 희열은 대단했다. 내가 만든 프로그램을 내가 유용하게 쓰고 더불어 누군가가 편리하게 써주는 것에 보람을 느꼈다. 다만 데스크탑 위에서 돌아가는 GUI 개발에 있어 Java는 실망감을 안겨주기도 했다. 주로 Applet 또는 Swing을 활용하였는데 당시 이클립스가 대세가 아니었던 시절이었기에 Kawa Java라는 IDE를 쓰곤 했다. 지금도 마찬가지로 데스크탑 프로그램으로는 별로 추천하고 싶지 않은 언어이다. 게다가 "exe" 파일을 만드는 데 있어서도 너무 낯설었는데 Java가 깔려있어야 돌아갈 수 있다는 사실에 조금 불만이 있었다. JVM위에서 독립성을 보장하는 언어이니 당연한 얘기일진데 초보때는 Visual C++과 달리 UI 컴포넌트 배치도 불편하고, 배포 및 설치도 생소한 이 프로그램에 대한 안타까움을 느꼈던 것도 사실이다. 물론 이 부분에 느끼는 단점은 지금도 마찬가지이다.ㅎㅎ 대신 WEB, Network 기반의 개발에 있어서는 차원이 다른 고급 언어이다. C언어로 게시판을 개발했던 필자는 당시 초보자로서 웹에서 인코더/디코더를 구현하는 것이 얼마나 어려운 일이었는지 모른다. 그런데 Java는 원했던 모든것이 라이브러리화 되어있어 편하게 웹 프로그램을 개발할 수 있었고, 채팅방 Back-End 로직을 만들면서 네트워크 통신을 안전하게 보장하고 Thread등을 활용하여 성능을 높이고 동기화 할 수 있다는 점에 큰 매력을 느꼈다.

  • SCJP1.4 자격증 취득
    지금은 이 자격증이 사라지고 Oracle사의 다른 자격증으로 대체되었다고 들었다. Dump라는 일종의 족보(?)를 구하고 달달 외우기만 하면 붙을 수 있었던 시험. 비록 문제와 답이 영어로 되어있다는 점이 어색하긴 해도 합격이 크게 어려운 시험은 아니었다. 비록 취득이 쉬운 자격증이었지만 국제공인 프로그래밍 자격증 중에는 꽤나 인기있는 자격증이었고, 나름 Class, 상속, 인터페이스, 추상화, 다형성, 예외처리 등 객체지향의 개념을 다잡고 정리하는데 좋은 계기가 되었다.

  • 대학 전산원 근로장학생
    비록 신분은 근로장학생으로 미천(?)했으나 2000년 초반 대부분의 대학들은 학사서비스를 WEB방식으로 운영하기 시작했으므로 나름 학부에서 배운 기술을 실전에 적용했던, 처음으로 실무로 뛰어들게 된 계기이다. 학생치고는 개발을 잘한다고 칭찬을 들었기에 더 열심히 개발하게 된 계기가 되었고 내가 쓰는 학사 프로그램을 내가 고친다는게 너무 신기했어서 마치 게임하 듯 개발에 푹 빠진 시간이었다. 대학 전산원 알바 시절에는 대부분은 웹 프로그램이 Servlet으로 구현되어 있었다. 물론 지금도 JSP가 Servlet 방식보다 개발하기 편리할 뿐 사실 내부적으로 WAS가 내부적으로 JSP를 Servlet으로 변경한다는 점은 변함이 없으므로 지금보다 low level의 개발을 하고 있다고 표현하는 것이 옳다고 하겠다. 그런데 Ajax도 등장하지 않았던 시절 HTML, Javascript, Java, SQL 언어가 뒤죽박죽 섞여 있는 코드를 보며 정녕 이것이 최선인가 자주 탄식할 수 밖에 없었다.

  • 전산장교 시절과 Factory 개념
    진짜 개발자로서의 첫 출발은 바로 이때가 아니었을까 싶다. 생각보다 꽤 큰 규모의 전산실에서 최초로 MVC 기법의 개발을 시작했다. 더불어 DB의 활용도를 높이고자 Factory 클래스를 만들어 싱글톤 디자인 패턴도 활용하기도 했고 나름 Java가 가진 맛을 제법 느껴볼 수 있는 경력을 쌓는 계기가 되었다. 다만 우리나라의 현실은 왜 이렇게도 DB, SQL 중심인가? 그리고 이런 Java의 패턴 몇 가지가 최선인가? 라는 질문이 계속 들기 시작했다.

  • 지금까지 이어온 개발자의 삶 
    군을 전역할 즈음 우리나라는 최악의 개발 환경을 가지고 있었고 SI, SM 정도의 직군만 존재하여 그것이 영원하리라 생각했다. 다 년간 개발을 하면서 창의적인 개발보다는 찍어내기식 개발에 스트레스는 늘어가고 보람은 줄어드는 패닉에 빠졌고 고민 끝에 가장 개발환경이 편하다는 안정적인 직장에 들어오게 되었다. 그리고 마침내 Framework를 다루기 시작했다. 스트럿츠, 스프링까지 프레임워크를 다루며 그 안에 녹아있는 철학을 음미했다. 예를 들면 스프링에서 활용되는 개념인 DI, AOP등의 개념을 익히며 이 정도는 알아야 프로그래머라고 할 수 있는 것이겠구나, 더불어 소프트웨어 공학을 열심히 익혀야 이런 훌륭한 철학을 기반으로 한 프레임워크를 만들 수 있겠구나라고 깨닫는 계기가 되었다.

  • 모바일의 등장
    지금까지도 대세인 모바일 개발 환경이 등장하기 시작한다. 안드로이드 OS가 리눅스와 비슷하여 친숙함도 들겠다 직접 만든 App이 내 모바일 기기 위에서 돌아가겠다 마치 처음 Java를 접했던 호기심이 다시금 발동해서 한동안 App개발에 푹 빠져 들던 시절이었다. 역시 자바는 자바였다. 자바를 아니까 .java도 개발하기 결코 어렵지 않았다.

  • 그리고 광풍이 부는 격변의 개발환경 
    SNS까지 확산되며 MEAN스택이 등장하기 시작했다. 예전엔 LAMP만 알면 되었는데 프런트엔드 중심의 개발환경이 등장하고 앵귤러, 익스프레스, 리액트, D3, Vue.js 등 프런트 엔드에 엄청난 기술들이 등장했고 이 블로그를 운영하는 Jekyll같은 정적 컴파일 언어, Grant 등이 등장했다. 백엔드 단에는 Go, 얼랭 같은 언어가 등장했고, 딥러닝과 빅데이터가 화두가 됨은 물론 이더리움과 같은 블록체인 개발 언어, Iot 사물인터넷, 그리고 함수형 언어의 대세.. 광풍이라고 표현할 수 밖에 없는 격변의 개발환경이 등장하기 시작하고 심지어 수학, 통계학 등 기초 사이언스에 대한 내공이 얼마나 중요한지 보여주는 시점에 도달하게 되었다.

주제가 인생사로 벗어나는 듯 하여 이쯤에서 각설하려 한다. 그렇다면 이 책이 다루는 범위는 위 개발자 20년 인생에 어느 부분을 다루는 것일까? 미안하지만 잘 쳐줘야 “대학 근로장학생” 시절까지 정도이다. 이 책이 좋지 않다는 말인가? 그렇지 않다. Java의 객체 개념을 정확히 알지 못한다면 그리고 하나의 언어를 정확히 알지 못한다면 다른 언어, 기술, 철학, 프레임워크와 비교할 수 없고 창의적인 개발을 할 수 없게된다. 가야할 길은 멀지만 이 책으로 개념의 초석을 튼튼히 쌓는다면 갈길이 먼 길을 축지법을 써서 이동하는 느낌으로 발전하는 자신을 보게 될 것이다.

이 책은 필자가 처음 Java 개념을 접했던 기본서와 비교하자면 개념을 전달하는 깊이가 수십배는 되는 전달력, 가독성이 좋은 책이다. 프로그래밍 스킬이 쌓일수록 알고리즘과 기초 사이언스, 철학이 얼마나 중요한 것인지 깨닫게 된다. 그저 지식의 양이 중요한 것이 아니라 그 안에 녹아있는 철학과 수학이라는 사이언스가 녹아있는 공학의 핵심 개념을 잡아내는 것이 중요하다. 지식의 양은 세월이 흐를수록 늘어나는 것이지만, 개념을 잡지 못한다면 그저 Copy&Paste 코더를 벗어나지 못하게 된다. 그런 점에서 이책을 강력하게 추천하고 싶다.

신용권 저자께 직접 들었던 모바일 웹앱 강의


이 책의 장점을 하나 더 소개하자면 바로 저자의 내공과 전달력이다. 2013년 경 삼성멀티캠퍼스에서 모바일 웹 앱 & 하이브리드라는 IT전문 교육을 1주일 정도 이수했다. 그때 강사님이 이 책의 저자이신 신용권님이었는데 그때 Core개념을 제대로 전수받은 것이 이후 모바일 개발을 하는데 있어 큰 도움이 되었고 더불어 애매하게 알고 있었던 Java의 개념과 기술을 다시 정리하고 토대를 다지는데 결정적인 계기가 되었다.

이 책은 혼자 공부하는 자바 동영상 강의도 제공한다. 사투리가 구수하게 섞인 음성에 수강생들이 멍하게 있으면 유머스럽게 질책하던 기억이 아직도 생생하다. 더불어 책 마지막 부분엔 혼공용어노트라는 배운 핵심개념을 정리한 용어집도 있다. 프로그래밍도 암기력이 탄탄하면 그 위에 더 큰 작품을 더 빠르게 올릴 수 있다.

이런 저런 측면에서 이 책은 초보자가 프로그래머로서의 길을 나아가기에 참 많은 배려를 한 디테일이 보이는 양서라고 생각한다. 소스 코드의 동작 순서를 화살표로 배치하거나 자바의 Stream을 가독성있게 그림으로 표현한 부분을 보신다면 어떤 의미인지 이해하실 수 있을 것이다.
혼공용어노트

스트림개념도

소스코드동작순서

누가 읽어야 하는가?


  • 초보 프로그래머, 컴퓨터 전공 학부 초년생

  • Java에 관심있는 타 언어 개발자

  • 기타 비전공자
    데이터 분석, 경제학 등 타 분야에서도 프로그래밍을 알면 큰 시너지 성과를 얻을 수 있는 타 학문 전공자에게 컴퓨터 공학 개념의 기초를 다지기에 정말 도움이 되는 책이다.

책의 구성 및 요약


이 책은 크게 세 부분으로 구성된다.

  • 1. Java의 기본문법(1 ~ 5장)
    • 자바 및 이클립스를 그 어떤 블로그 or 책 보다 쉽게 설치할 수 있다. (시작이 반이다.)
    • 변수, 타입, 연산자, 조건문, 반복문 등 기본문법을 익힌다.
    • 어느 프로그래밍 언어에나 존재하는 공통점을 배운다.
  • 2. Java와 객체지향언어의 특징(6 ~ 10장)
    • 객체지향 언어의 특성과 개념을 익힌다.
    • Java에서 설계된 객체지향 기법을 다룬다.
    • 객체의 핵심 개념인 Class, Class의 재사용을 위한 상속, 메소드의 추상화와 구현을 위한 Interface, 중첩 Class, 예외처리까지 익힐 수 있다.
  • 3. Java의 멋진 도구들(11 ~ 14장)
    • Java에 얼마나 유용한 라이브러리가 많이 있는지 체험하는 시간이다.
    • 기본 API클래스인 java.lang., java.util. 사용법을 익힌다.
    • 스레드 및 동기화, 컬렉션 프레임워크, 입출력 스트림 등 자료구조나 병렬처리에 필요한 기법을 익힌다.

요약하며…


20년 전과는 달리 요즘엔 참 좋은 서적과 레퍼런스가 많아 막 프로그래머로서의 길을 출발하는 요즘 친구들이 너무 부럽다. 필자가 처음 Java를 공부한 기본서는 어색한 번역의 내용도 전달력도 딱딱한 그저 그런 책이었다. 친절함은 커녕 이제 뭐 좀 알겠다 싶으면 이상한 코드들이 무더기로 나와 보는 순간 질려버리게 만들기도 했다. 코드는 색상도 들여쓰기도 가독성도 형편없었다. 심지어는 오류도 있었다.

이 책의 저자는 Java의 핵심 개념을 마스터한 전문가이며 나아가 WEB, Mobile 기술에 정통하다. 책도 친절한데 무료 동영상 강의도 해 준다. 부럽지 않을 수가 없다. 이 책은 위에서 언급한 바와 같이 입문자에게 더할나위 없이 좋은책으로 처음 시작하시는 분께 강력 추천한다. 아쉬운 점이 하나 있다면 Java에 해박하신 전문가께서 너무 얕은 기초 지식만 내공을 전수해주신다는 점이다.(하지만 그 개념은 매우 중요하다.) 언젠가 스트림 이후의 Java 세계에 대하여 시리즈로 집필을 계속 이어나가시길 바라며 본 포스팅을 마친다.

<한빛미디어 출판사>

개발자라면 믿고보는 “한빛미디어 출판사”라는 수식어가 따라다닐 만큼 IT분야는 물론 다른 분야에서도 양질의 도서를 끊임없이 출판하는 회사입니다. 개발자로서 “나는 프로그래머다”라는 유익한 팟캐스트를 즐겨 듣곤 했는데 한빛미디어에서 후원을 하였기에 수년간 방송이 이어져올 수 있었다 생각하며, 그외에도 리뷰어 활동, 학습지원 등 다양한 분야에서 사회에 공헌하는 개발자와 공생하는 업체입니다. IT 분야에 관심이 많은 분이라면 한빛미디어의 책으로 시작하시면 후회없는 출발을 하실 수 있습니다.

한빛미디어 바로가기 

저는 평소에 자바책을 여러종류를 읽는데요, 이거 포함하면 6권 정도 읽어봤습니다. 물론 같은 저자님의 이것이 자바다도 읽고 있구요

확실히 이 책은 자바를 처음 접하는 사람들이 제목 그대로 혼자서 공부하기 딱 좋은 책이라고 생각합니다. 평소에 읽던 이것이 자바다 같은 경우에는 뒤로가면 어려운 내용이 많아 힘들었는데 이 책 같은 경우에는 초보자들을 위한 설명이 너무 자세하게 나와있어 제 생각에는 이 책을 다 읽은 다음에 이것이 자바다를 읽으면 이것이 자바다를 읽기 편할 것 같습니다. 초보자 책으로 강추드립니다

부록/예제소스
자료명 등록일 다운로드
DOWNLOAD 찾아보기 수정본 2024-02-02 다운로드
DOWNLOAD 확인문제 해답 2024-02-02 다운로드
DOWNLOAD 예제소스 2024-02-02 다운로드
결제하기
• 문화비 소득공제 가능
• 배송료 : 2,000원배송료란?

배송료 안내

  • 20,000원 이상 구매시 도서 배송 무료
  • 브론즈, 실버, 골드회원이 주문하신 경우 무료배송

무료배송 상품을 포함하여 주문하신 경우에는 구매금액에 관계없이 무료로 배송해 드립니다.

닫기

리뷰쓰기

닫기
* 상품명 :
혼자 공부하는 자바
* 제목 :
* 별점평가
* 내용 :

* 리뷰 작성시 유의사항

글이나 이미지/사진 저작권 등 다른 사람의 권리를 침해하거나 명예를 훼손하는 게시물은 이용약관 및 관련법률에 의해 제재를 받을 수 있습니다.

1. 특히 뉴스/언론사 기사를 전문 또는 부분적으로 '허락없이' 갖고 와서는 안됩니다 (출처를 밝히는 경우에도 안됨).
2. 저작권자의 허락을 받지 않은 콘텐츠의 무단 사용은 저작권자의 권리를 침해하는 행위로, 이에 대한 법적 책임을 지게 될 수 있습니다.

오탈자 등록

닫기
* 도서명 :
혼자 공부하는 자바
* 구분 :
* 상품 버전
종이책 PDF ePub
* 페이지 :
* 위치정보 :
* 내용 :

도서 인증

닫기
도서명*
혼자 공부하는 자바
구입처*
구입일*
부가기호*
부가기호 안내

* 온라인 또는 오프라인 서점에서 구입한 도서를 인증하면 마일리지 500점을 드립니다.

* 도서인증은 일 3권, 월 10권, 년 50권으로 제한되며 절판도서, eBook 등 일부 도서는 인증이 제한됩니다.

* 구입하지 않고, 허위로 도서 인증을 한 것으로 판단되면 웹사이트 이용이 제한될 수 있습니다.

닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?

자료실

최근 본 상품1