Life/Book Record

[서평] Java의 정석

샤아이인 2022. 1. 26. 13:28

저의 돈으로 직접사서 직접 완독해본후 써보는 후기입니다. 따라서 장점은 장점대로 칭찬할것이며, 단점은 단점대로 언급할 것 입니다.

 
Java의 정석
저자 : 남궁성
출판 : 도우출판
발매 : 2016.01.27

<읽은기간>

2021/07/21 ~ 2021/08/11

<리뷰 순서>

1) 책의 표지

2) 단원별 구성

3) 읽은소감

우선 저의 글의 앞부분만 보는 분들을 위해 먼저 간단히 3가지에 대해 답해보겠습니다.

Q 이 책을 읽기 전에 필요한 수준/ 지식은?

=> 어떠한 사전지식도 필요 없다. 처음부터 끝까지 상세하게 알려주신다. 간혹 이책이 어렵다 하시는 분들이 있는데, 이는 끈기있게 책을 보지 않아서 그렇다 생각한다. 중간중간 고비가 있을 수 있지만, 여러번 읽어가는 노력을 하면서 읽다보면 도움되는 내용들이 상당하게 많다.

Q 이 책을 읽어야 할 필요성, 어디에 도움이 될까?

=> 자바 기본 문법을 충실하게 공부하고 싶은분, Spring이나 디자인 패턴을 배워보기 전 선수로 Java의 기초 주축을 준비하고싶은 분들

Q 이 책을 읽은후 추후 공부는?

=> 디자인패턴에 관한 공부와 JSP에 관한 공부를 할 계획이다.

 

1. 책의 표지

표지는 뭐 그냥 그렇다. 딱딱하고 두꺼운 종이로 되있을 것 같은 비쥬얼이다.

책의 디자인이 야생형과, 학자형으로 나뉘어 진다면 이책은 전형적인 학자형으 비쥬얼을 하고 있다.

책의 표지가 암시하듯, 내용 또한 꽉 꽉 이론에 치중한 책이니 어쩌면 표지선택을 잘한것 이라 할 수 있다.

 

2. 단원별 구성

Chapter 1 자바를 시작하기 전에

Chapter 2 변수(Variable)

Chapter 3 연산자(Operator)

Chapter 4 조건문과 반복문

Chapter 5 배열(Array)

Chapter 6 객체지향 프로그래밍 I

Chapter 7 객체지향 프로그래밍 II

Chapter 8 예외처리(Exception Handling)

Chapter 9 java.lang패키지와 유용한 클래스

Chapter 10 날짜와 시간 & 형식화

Chapter 11 컬렉션 프레임웍

Chapter 12 지네릭스, 열거형, 애너테이션

Chapter 13 쓰레드(Thread)

Chapter 14 람다와 스트림

Chapter 15 입출력(I/O)

Chapter 16 네트워킹(Networking)

 

개인적으로 14장 람다 부분이 가장 인상깊고, 재미 있었다. 함수형 인터페이스와 이를 활용하는 내용이 책을 통틀어 가장 재미있었다.

따라서 이책은 내가 가장 재미있게 읽은 14장 람다를 기준으로 책에대한 리뷰를 작성하겠습니다.

 

14장. 람다와 스트림

사람 마다 다르겠지만, 난 람다와 스트림이 가장 재미있었다.

 

컬랙션프레임워크야 뭐 자료구조를 이미 많이 공부해봤기 때문에 사용법만 달랐을 뿐 새로운 내용이 전혀 없었으며, 2권에서 람다와 스트림 말고는 거의다 아는 내용이였어서 상대적으로 처음 접하는 내용인 스트림 또 접한적은 있지만 사용법이 가물가물하던 람다가 가장 재미있었다.

 

보통 쳅터를 시작하면 해당 쳅터에서 배우는 내용에 대한 큰 그림을 그려주신다.

위에서 보이듯 일단 1.1절에서는 람다식이 무엇인지? 어떻게 작성하는지 등 기본적인 골격을 설명한 후, 뒤에 이어가며 내용에 살을 더해간다.

 

위의 사진은 내가 인상깊게 읽은 함수형 인터페이스 에 관한글인데, 어떠한 원리에 의해 이를 사용하게 된 것 인지? 원리중심의 설명을 해주시고 계신다.

 

또한 적합한 예시들을 선택하여 항상 이해하기 쉽도록 도와주시는 부분이 더욱 좋았다.

 

또한 그림을 이용한 설명도 많아 이해하기가 더욱 편하였다. 가끔은 너무 추상화가 깊은 내용을 다룰때는 이해가 쉽게 되지 않고는 한다. 하지만 이런 부분에서 도표와 그림을 이용하여 필요한 부분들에 대한 설명을 더해주려 노력하신 부분들이 마음에 들었다.

 

또 위의 사진에 보이듯 이책은 정리와 도식화가 상당하게 잘 되어있다.

이책을 레퍼런스 용으로 써도 되겠다 하시는 분들의 마음이 이해가는 부분이 바로 정리된 표들의 설명이다.

어떤 상황에 써야하는지 가로와 세로만 보면 딱 보이게 표들을 작성해 주셔서 상당히 이해하기 편하였다.

많은 내용이 이렇게 표를 활용하여 정리되어 있다.

 

마지막은 코드에 관한 부분이다. 대부분의 책이 그러하듯, 이책 또한 예시 설명에 관하여 모든 코드가 있으며, 실행결과 또한 항상 있기에 어떠한 논리로 출력된 결과인지 생각하기 편하였다.

 

주석들 또한 읽는데 상당한 도움을 주었다.

 

3. 읽은소감

▶ 장점

장점이 너무 많은 좋은 책 이다.

설명, 그림 등 책을 쓰신분 께서 오랜시간 동안 공을 들인점이 상당히 인지되는 책 이였다.

 

1) 저자 또한 다년간 학생들을 지도하고 있는 것으로 알고 있기에 현장에서 학생들이 궁금해 했던 부분이나, 어려워 하는 부분들을 이미 다 인지하고 있는 것이 보였다. 어려운 포인트 지점들을 더욱 상세하게 설명하고 예시를 보이며 이해의 끈을 유지하도록 도와주셨다.

 

2) 정리가 상당하게 잘 되어있어 레퍼런스로 사용할만 하다.

 

3) 동영상 강의를 제공한다.

 

▶ 단점

단점은 연습문제가 좀 음 그렇게 도움되는 느낌을 받지 못했다. 이론서에서 연습문제 퀄리티를 따지는게 웃길수 있지만, 명품 JAVA같이 연습문제의 퀄리티가 상당한 책에 비하면 이책은 이론에 몰빵했다는 점이 느껴진다.

코딩은 굴파듯 내용만 보다고 되는 분야가 아니다. 따라서 이론 습득에 있어서도 체화시킬 연습문제가 그렇게 좋지는 않은것 같았다.

 

(아 혹시 집중력이나, 끈기가 약하신 분들은 이책 위험하다... 양이 1000페이지를 넘어가다 보니... 질려서 중간에 포기할 수도 있다.)

 

 

책을 읽는데 엄청 오래걸리지는 않았다. 1권과 2권으로 나뉘어 지는데, 1권같은 경우 이미 C++에서 배운내용이 너무 많아 인터페이스 부분을 빼고는 모르는 내용이 없어 1권을 읽는데 7일정도 걸린것 같다.

이후 2권에서 시간이나, 람다, 에노테이션 등 처음 접하는 부분들이 나와주어 흥미를 갖고 공부하다보니 여기서 시간이 조금 걸렸다. 필요하다 생각한 부분들은 2번씩 읽었다.