이것이 자바다 이것이 시리즈
신용권 지음 / 한빛미디어 / 2015년 1월
평점 :
구판절판


JAVA는 JavaScript, Python과 더불어 전체 프로젝트의 거의 절반에서 대표 언어로 사용되고 있습니다. JAVA를 기반으로 개발된 프로그램이 많은 만큼 현업에서 개발자를 채용할 때 JAVA에 대한 이해도를 확인하는 기업도 많습니다. 레퍼런스 체크 시에 JAVA의 어떤 특성을 어떤 방식으로 코드에 적용했는지 확인하기도 합니다. 당연한 말이지만 이론적으로 충분히 개념을 잡고 있어야 이를 기반으로 응용력도 늘 수 있지요. 때문에 사소한 내용이라도 기초부터 확실히 개념이 잡혀 있는 것이 중요합니다.

여러 종류의 자바 개념 서적을 접해 봤지만, 지금 소개할 책만큼 기초부터 자세하게 설명해 둔 책은 없었다고 자신있게 주장할 수 있습니다. 자바를 처음 접해 보는 사람들과 처음부터 알고 있는 내용을 점검하고 개념을 확립하고 싶으신 분들께 강력 추천합니다. 

바로 "이것이 ~" 시리즈의 자바 편입니다.



[이것이 자바다 : 신용권의 Java 프로그래밍 정복]

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

 

목차 ▼

CHAPTER 1 자바 시작하기

    1.1 프로그래밍 언어란?

    1.2 자바란? 

    1.3 자바 개발 환경 구축 

    1.4 자바 프로그램 개발 순서 

    1.5 주석과 실행문 

    1.6 이클립스 설치

    1.7 풀인원 설치와 실행

 


CHAPTER 2 변수와 타입

    2.1 변수 

    2.2 데이터 타입



CHAPTER 3 연산자

    3.1 연산자와 연산식 

    3.2 연산의 방향과 우선순위

    3.3 단항 연산자

    3.4 이항 연산자 

    3.5 삼항 연산자



CHAPTER 4 조건문과 반복문

    4.1 코드 실행 흐름 제어

    4.2 조건문(if문, switch문) 

    4.3 반복문(for문, while문, do-while문)



CHAPTER 5 참조 타입

    5.1 데이터 타입 분류 

    5.2 메모리 사용 영역 

    5.3 참조 변수의 ==, != 연산 

    5.4 null과 NullPointerException

    5.5 String 타입

    5.6 배열 타입

    5.7 열거 타입



CHAPTER 6 클래스

    6.1 객체 지향 프로그래밍 

    6.2 객체와 클래스 

    6.3 클래스 선언 

    6.4 객체 생성과 클래스 변수 

    6.5 클래스의 구성 멤버 

    6.6 필드 

    6.7 생성자 

    6.8 메소드 

    6.9 인스턴스 멤버와 this 

    6.10 정적 멤버와 static 

    6.11 final 필드와 상수 

    6.12 패키지 

    6.13 접근 제한자 

    6.14 Getter와 Setter 메소드

    6.15 어노테이션



CHAPTER 7 상속

    7.1 상속 개념 

    7.2 클래스 상속 

    7.3 부모 생성자 호출 

    7.4 메소드 재정의 

    7.5 final 클래스와 final 메소드 

    7.6 protected 접근 제한자 

    7.7 타입 변환과 다형성 

    7.8 추상 클래스



CHAPTER 8 인터페이스

    8.1 인터페이스의 역할 

    8.2 인터페이스 선언 

    8.3 인터페이스 구현 

    8.4 인터페이스 사용 

    8.5 타입 변환과 다형성 

    8.6 인터페이스 상속 

    8.7 디폴트 메소드와 인터페이스 확장



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

    9.1 중첩 클래스와 중첩 인터페이스란? 

    9.2 중첩 클래스

    9.3 중첩 클래스의 접근 제한 

    9.4 중첩 인터페이스 

    9.5 익명 객체



CHAPTER 10 예외 처리

    10.1 예외와 예외 클래스 

    10.2 실행 예외 

    10.3 예외 처리 코드 

    10.4 예외 종류에 따른 처리 코드

    10.5 자동 리소스 닫기 

    10.6 예외 떠넘기기 

    10.7 사용자 정의 예외와 예외 발생 

    10.8 예외 정보 얻기



CHAPTER 11 기본 API 클래스

    11.1 자바 API 도큐먼트

    11.2 java.lang과 java.util 패키지 

    11.3 Object 클래스 

    11.4 Objects 클래스 

    11.5 System 클래스 

    11.6 Class 클래스 

    11.7 String 클래스 

    11.8 StringTokenizer 클래스 

    11.9 StringBuffer, StringBuilder 클래스 

    11.10 정규 표현식과 Pattern 클래스 

    11.11 Arrays 클래스 

    11.12 Wrapper(포장) 클래스 

    11.13 Math, Random 클래스

    11.14 Date, Calendar 클래스 

    11.15 Format 클래스

    11.16 java.time 패키지



CHAPTER 12 멀티 스레드

    12.1 멀티 스레드 개념 

    12.2 작업 스레드 생성과 실행 

    12.3 스레드 우선순위

    12.4 동기화 메소드와 동기화 블록 

    12.5 스레드 상태 

    12.6 스레드 상태 제어 

    12.7 데몬 스레드 

    12.8 스레드 그룹 

    12.9 스레드풀



CHAPTER 13 제네릭

    13.1 왜 제네릭을 사용해야 하는가? 

    13.2 제네릭 타입(class〈T〉, interface〈T〉) 

    13.3 멀티 타입 파라미터(class〈K,V,...〉, interface〈K,V,...〉) 

    13.4 제네릭 메소드(〈T, R〉 R method(T t)) 

    13.5 제한된 타입 파라미터(〈T extends 최상위타입〉) 

    13.6 와일드카드 타입(〈?〉, 〈? extends ...〉, 〈? super ...〉) 

    13.7 제네릭 타입의 상속과 구현



CHAPTER 14 람다식

    14.1 람다식이란?

    14.2 람다식 기본 문법 

    14.3 타겟 타입과 함수적 인터페이스 

    14.4 클래스 멤버와 로컬 변수 사용

    14.5 표준 API의 함수적 인터페이스 

    14.6 메소드 참조



CHAPTER 15 컬렉션 프레임워크

    15.1 컬렉션 프레임워크 소개

    15.2 List 컬렉션 

    15.3 Set 컬렉션 

    15.4 Map 컬렉션 

    15.5 검색 기능을 강화시킨 컬렉션 

    15.6 LIFO와 FIFO 컬렉션 

    15.7 동기화된 컬렉션 

    15.8 병렬 처리를 위한 컬렉션



CHAPTER 16 스트림과 병렬 처리

    16.1 스트림 소개 

    16.2 스트림의 종류 

    16.3 스트림 파이프라인 

    16.4 필터링(distinct( ), filter( ))

    16.5 매핑(flatMapXXX( ), mapXXX( ), asXXXStream( ), boxed( ))

    16.6 정렬(sorted( ))

    16.7 루핑(peek( ), forEach( ))

    16.8 매칭(allMatch( ), anyMatch( ), noneMatch( ))

    16.9 기본 집계(sum( ), count( ), average( ), max( ), min( ))

    16.10 커스텀 집계(reduce( ))

    16.11 수집(collect( ))

    16.12 병렬 처리



CHAPTER 17 JavaFX

    17.1 JavaFX 개요

    17.2 JavaFX 애플리케이션 개발 시작 

    17.3 JavaFX 레이아웃 

    17.4 JavaFX 컨테이너

    17.5 JavaFX 이벤트 처리

    17.6 JavaFX 속성 감시와 바인딩 

    17.7 JavaFx 컨트롤 

    17.8 JavaFX 메뉴바와 툴바 

    17.9 JavaFX 다이얼로그 

    17.10 JavaFX CSS 스타일 

    17.11 JavaFX 스레드 동시성 

    17.12 화면 이동과 애니메이션



CHAPTER 18 IO기반 입출력 및 네트워킹

    18.1 IO 패키지 소개 

    18.2 입력 스트림과 출력 스트림 

    18.3 콘솔 입출력 

    18.4 파일 입출력 

    18.5 보조 스트림 

    18.6 네트워크 기초 

    18.7 TCP 네트워킹 

    18.8 UDP 네트워킹



CHAPTER 19 NIO 기반 입출력 및 네트워킹

    19.1 NIO 소개 

    19.2 파일과 디렉토리 

    19.3 버퍼 

    19.4 파일 채널 

    19.5 파일 비동기 채널 

    19.6 TCP 블로킹 채널 

    19.7 TCP 넌블로킹 채널 

    19.8 TCP 비동기 채널 

    19.9 UDP 채널

목차 ▲




[책 소개]



책의 두께가 많이 두껍기 때문에 1, 2권으로 분철되어 있습니다.

들고 다니며 학습할 때 편하도록 두께를 조정한 세심함이 돋보입니다.



[이 책은]


 

책의 맨 앞에 본 교재를 위해 개설되어 있는 네이버 카페 소개가 있습니다.

혼자 책으로 공부하다가 이해가 어려운 부분이 있다면 이 카페를 통해 정보를 얻을 수 있습니다.

자세한 책 내용과 더불어 기본기를 다지는 학습에 유용하게 활용할 수 있는 정보 획득의 좋은 플랫폼이라고 생각합니다.



 


학습 진도표입니다.

예시 자료지만, 실제로 활용해도 좋습니다.

저는 학습 기간을 단축하기 위해 매일 지정된 시간보다 조금씩 더 할애했습니다.

개인적인 경험으로는 진도표에 체크하고 진도를 확인하며 학습하는 것이 되는 대로 공부하는 것보다 훨씬 효율적이었습니다.




한 챕터의 끝에 수록되어 있는 확인문제입니다.

개념을 확실히 이해했는지, 그리고 이해한 개념을 코드로 풀어낼 수 있는지 짚고 넘어갈 수 있습니다.

주로 01번부터 4~5번까지의 문제는 개념을 확인하는 5지선다&단답형 문제로 구성되어 있고 

이후 번호는 서술형, 코드 분석 및 작성능력 확인 문제로 구성되어 있습니다.

 


본문에 수록되어 있는 예제 코드입니다. 

코드의 각 부분이 어떤 기능을 하는지, 코드를 실행하면 어떤 결과가 나오는지 상세히 적혀 있어 

실습을 할 수 없는 환경에서도 실습을 해 본 것처럼 쉽게 코드와 그 기능을 익힐 수 있습니다.

또한 실행 결과를 텍스트가 아닌 캡쳐 화면으로 제공하여 실제로 어떻게 콘솔에 출력되는지 확인할 수 있습니다.





책 내용 중 한 페이지입니다.

자바 버전 별 코드를 설명해 주는 부분이 인상적이었습니다.

또한 추상적인 개념을 가시화하여 쉽게 이해할 수 있습니다.

 


위와 같이 추상적 개념을 가시화하는 부분이 많아 디자인 패턴을 익히는 데도 큰 도움이 됩니다.



[책을 덮으며]

JAVA와 같이 범용적으로 사용되는 언어를 공부할 때는 모르는 기능을 검색하며 상시로 개념을 익히는 것보다 전체적으로 이론 개념을 탄탄하게 다진 지는 학습이 선행되어야 한다고 생각합니다. 

이 책은 자바 기본서로, 자바를 처음 접해보는 사람이나 개발 입문자들에게 추천할 만큼 기초를 상세히 알려 주는 책이었습니다.

이 책으로 일정 기간 학습하며 개념을 다진다면 실전에서 응용력을 키울 수 있을 것이라 생각합니다.

책이 두꺼운 만큼 수록되어 있는 내용도 자세하고 많았습니다. 

단기간 학습보다는 장기 학습에 적합하니, 충분한 시간을 두고 꼼꼼히 보시기를 추천합니다.

자세한 내용은 상단 도서 링크 또는 가까운 서점에서 도서를 구매하시어 확인 부탁 드립니다! 




댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo