자바의 신 Vol 2: 주요 API 응용편 이상민 pdf 다운로드를 무료로 제공합니다 이 책은 〈자바의 신〉 VOL.1 기초 입문서를 배운 독자가 개발을 하면서 좀더 심화한 API를 활용해야 할 때 제대로 활용할 수 있는 법을 담았다
관련 교재 pdf 모음
책 소개
최근 자바의 버전은 급격하게 변합니다. 6개월에 버전이 1씩 증가하는데, 회사에서 사용하는 자바의 버전은 프로젝트가 시작될 때 가장 최신 버전에 머물러 있는 경우가 많습니다. 그래서 〈자바의 신〉 3판에서는 최신 자바 버전에서 달라진 부분에 대해서 최대한 신입 및 기존 개발자분들이 쉽게 이해할 수 있도록 작성하였습니다. 〈자바의 신〉 2판을 쓸 때인 2017년에는 최신 버전이 Java 8이었지만 지금은 Java 20이 가장 최신 버전이며, 장기 지원 버전인 Java 21은 올해 출시될 예정입니다. 왜 이렇게 버전 번호가 급격하게 올라갔는지는 본문에서 확인할 수 있습니다. 이 책은 VOL.2로 주요 API 활용법을 다루고 있습니다. VOL.1이 기초 문법을 다루었다면, VOL.2에서는 개발 현장에 많이 활용하는 주요 API가 무엇이고 어떻게 쓰이는지를 다룹니다. 가장 신경 쓴 점은 “생각하는 습관”을 갖도록 하는 데 있습니다. 이 책에는 “생각해 봅시다”라는 쉬어가는 코너가 아주 자주 등장합니다. 이 코너에서는 독자에게 화두를 던지고 그에 대해 짧게는 1분에서 길게는 10분까지 생각해볼 수 있도록 하였습니다. 이를 통해 현업에서 개발자로 성장했을 때 단순 코더가 아니라 생각하는 코더가 될 수 있도록 세심하게 배려하였습니다. 연습문제에 심혈을 기울였습니다. 문제를 풀어보는 것만큼 실력을 높일 수 있는 지름길은 없습니다. 서술형 문제에서는 이미 학습한 내용을 잘 기억하고 있는지 테스트할 수 있습니다. 실습 문제에서는 작은 단위의 프로그램을 만들어보면서 프로그램 짜는 능력을 쑥쑥 키워갈 수 있습니다.
자바의 신 Vol 2: 주요 API 응용편
머리말
이렇게 학습하세요
감수자 & 베타리더의 글
1장. 이쯤에서 자바의 역사와 JVM에 대해서 알아보자
자바의 역사
JDK의 플랫폼에 따른 차이
JDK, J2SE, Java SE 외에 자바에서 사용되는 다른 용어들
자바언어의 특징은 다음과 같다
자바의 버전별 차이
JIT 컴파일러는 도대체 뭘까?
HotSpot은 또 뭐야?
자바를 배우면 꼭 알아야 하는 용어
자바의 GC는 어떻게 진행되나요?
정리하며
2장. 가장 많이 쓰는 패키지는 자바랭
java.lang 패키지는 특별하죠
숫자를 처리하는 클래스들
각종 정보를 확인하기 위한 System 클래스
System.out을 살펴보자
정리하며
직접해 봅시다
정리해 봅시다
3장. 실수를 방지하기 위한 제네릭이라는 것도 있어요
실수를 방지할 수 있도록 도와주는 제네릭
제네릭이 뭐지?
제네릭 타입의 이름 정하기
제네릭에 ?가 있는 것은 뭐야?
제네릭 선언에 사용하는 타입의 범위도 지정할 수 있다
메소드를 제네릭하게 선언하기
정리하며
직접해 봅시다
정리해 봅시다
4장. 자바랭 다음으로 많이 쓰는 애들은 컬렉션 – Part1(List)
자바 컬렉션
List 인터페이스와 그 동생들
ArrayList에 대해서 파헤쳐보자
ArrayList의 생성자는 3개다
ArrayList에 데이터를 담아보자
ArrayList에서 데이터를 꺼내자
ArrayList에 있는 데이터를 삭제하자
Stack 클래스는 뭐가 다른데?
정리하며
직접해 봅시다
정리해 봅시다
5장. 자바랭 다음으로 많이 쓰는 애들은 컬렉션 – Part2(Set과 Queue)
Set이 왜 필요하지?
HashSet에 대해서 파헤쳐 보자
HashSet의 생성자들도 여러 종류가 있다
HashSet의 주요 메소드를 살펴보자
Queue는 왜 필요할까?
LinkedList를 파헤쳐보자
LinkedList의 생성자와 주요 메소드를 살펴보자
정리하며
직접해 봅시다
정리해 봅시다
6장. 자바랭 다음으로 많이 쓰는 애들은 컬렉션 – Part3(Map)
Map이란?
Map을 구현한 주요 클래스들을 살펴보자
HashMap 클래스에 대해서 자세히 알아보자
HashMap 객체에 값을 넣고 확인해보자
HashMap 객체의 값을 확인하는 다른 방법들을 알아보자
정렬된 키의 목록을 원한다면 TreeMap을 사용하자
Map을 구현한 Properties 클래스는 알아두면 편리하다
자바의 자료 구조를 정리해보자
정리하며
직접해 봅시다
정리해 봅시다
7장. 쓰레드는 개발자라면 알아두는 것이 좋아요
쓰레드가 도대체 뭘까?
Runnable 인터페이스와 Thread 클래스
Thread 클래스의 생성자를 살펴보자.
많이 사용되는 sleep( ) 메소드에 대해서 살펴보자
Thread 클래스의 주요 메소드를 살펴보자
쓰레드와 관련이 많은 synchronized
synchronized 블록은 이렇게 사용한다
쓰레드를 통제하는 메소드들
Object 클래스에 선언된 쓰레드와 관련있는 메소드들
ThreadGroup에서 제공하는 메소드들
정리하며
직접해 봅시다
정리해 봅시다
8장. 파일에 있는 것을 읽고 쓰려면 아이오를 알아야죠
I/O는…
자바의 File과 Files 클래스
File 클래스를 이용하여 파일의 경로와 상태를 확인해 보자
File 클래스를 이용하여 파일을 처리하자
디렉터리에 있는 목록을 살펴보기 위한 list 메소드들
InputStream과 OutputStream은 자바 스트림의 부모들이다
Reader와 Writer
텍스트 파일을 써보자
텍스트 파일을 읽어보자
정리하며
직접해 봅시다
정리해 봅시다
9장. Serializable과 NIO도 살펴 봅시다
Serializable에 대해서 좀 살펴보자
객체를 저장해보자
객체를 읽어보자
transient라는 예약어는 Serializable과 떨어질 수 없는 관계다
자바 NIO란?
NIO의 Buffer 클래스
정리하며
정리해 봅시다
10장. 다른 서버로 데이터를 보내려면 어떻게 하면 되나요?
네트워크 프로그래밍이란?
소켓 통신을 하기 위해서 알아야 하는 Socket 클래스
간단하게 소켓 통신을 해보자
UDP 통신을 위해서 알아야 하는 Datagram 관련 클래스
간단하게 UDP 통신을 해보자
자바에서 웹 페이지 요청을 하려면 어떻게 해야 하지?
정리하며
직접해 봅시다
정리해 봅시다
11장. 이제 주요 API도 알아봤으니 정리해 봅시다
자바의 예약어들
제네릭
쓰레드
자바 API에서 제공하는 자료 구조와 Collection
Collection-List 인터페이스
Collection-Set 인터페이스
Collection-Queue 인터페이스
Collection-Map 인터페이스
IO 관련 클래스들
네트워크 관련 클래스들
정리하며
〈자바의 신〉 기말고사
〈자바의 신〉 기말 실습문제
12장. Java 7에서 달라진 것들에는?
Java 7에서는…
달라진 숫자 표현법!!!
switch 문장도 좀 확장되었대요
제네릭은 다이아몬드를 쓰면 쉬워요
Non reifiable varargs 타입
예외도 이렇게 보완 되었답니다
Java 7부터는 꼭 안닫아도 되는 애들이 있어요
정리하며
정리해 봅시다
13장. Java 7에 추가된 것들에는?
Fork/Join은 CPU를 더 쉽게, 효율적으로 사용하기 위해서 만들어진 거에요
NIO도 잘 모르는데 NIO 2가 나왔다
Files 클래스는 파일을 다루기 위한 클래스랍니다
파일이 변경되었는지 확인하는 WatchService 클래스도 추가되었어요
파일과 관련된 다른 새로운 API에는 어떤 것들이 있을까?
Fork/Join과 NIO2 외에 추가 및 변경된 것들을 간단히 살펴보죠
정리하며
정리해 봅시다
14장. Java 8에 추가된 것들은?
Java 8의 새로운 것들
Optional
Default method
날짜 관련 클래스들
병렬 배열 정렬(Parallel array sorting)
StringJoiner
정리하며
15장. Java 8에서 변경된 것들은?
Lambda 표현식(expression)
java.util.function 패키지
stream
stream forEach( )
메소드 참조
stream map( )
stream filter( )
Stream을 다시 한번 정리해 보자
정리하며
16장. Java 9에서 변경된 것들은?
Java의 변경된 정책은 꼭 알아야 해요.
Java 버전별 추가된 사항은 어디서 확인해야 할까?
Java 9에서 추가되거나 달라진 것들은?
Java 9부터 변경된 String 클래스
Interface의 private 메소드를 추가할 수 있다
새로운 HTTP 클라이언트를 쓰면 뭐가 좋을까?
Publish-Subscribe 프레임워크
자바의 모듈화-직소 프로젝트
정리하며
17장. Java 10에서는 무엇이 달라졌을까?
Java 10에서 추가되거나 달라진 기능들은?
타입을 일일이 입력하기 귀찮다면 var를 사용해도 된다.
수정 불가능한 Collection
정리하며
18장. Java 11은 얼마나 달라졌을까?
Oracle JDK의 유료화
Java 11에 추가되거나 개선된 기능들은?
컴파일 없이 java 파일의 실행하는 방법은?
Lambda에서 var 사용해보기
정리하며
19장. Java 12~17 버전을 살펴보자
Java 12에 추가되거나 개선된 기능들은?
java 13에 추가되거나 개선된 기능들은?
Java 14에 추가되거나 개선된 기능들은?
Java 15에 추가되거나 개선된 기능들은?
Java 16에 추가되거나 개선된 기능들은?
Java 17에 추가되거나 개선된 기능들은 ?
switch-case 문이 좀 달라졌어요.
따옴표 세개를 연달아 쓰면 text 블록을 사용할 수 있어요.
record 클래스가 뭔가요?
sealed 클래스는 어디에 사용하는 것인가요?
정리하며
찾아보기
〈VOL.1의 주요 목차 요약〉
1장. 프로그래밍이란 무엇인가?
2장. Hello God Of Java
3장. 자바를 제대로 알려면 객체가 무엇인지를 알아야 해요
4장. 정보를 어디에 넣고 싶은데
5장. 계산을 하고 싶어요
6장. 제가 조건을 좀 따져요
7장. 여러 데이터를 하나에넣을 수는 없을까요?
8장. 참조 자료형에 대해서 더 자세히 알아봅시다
9장. 자바를 배우면 패키지와 접근 제어자는 꼭 알아야 해요
10장. 자바는 상속이라는 것이 있어요
11장. 매번 만들기 귀찮은데 누가 만들어 놓은 거 쓸 수 없나요?
12장. 모든 클래스의 부모 클래스는 Object에요
13장. 인터페이스와 추상클래스, enum
14장. 다 배운 것 같지만, 예외라는 중요한 것이 있어요
15장.String
16장. 클래스 안에 클래스가 들어갈 수도 있구나
17장. 어노테이션이라는 것도 알아야 한다
18장. 이제 기본 문법은 거의 다 배웠으니 정리해 봅시다
〈자바의 신〉 중간 점검 및 실습