
000 | 00000cam c2200205 c 4500 | |
001 | 000046057596 | |
005 | 20201126191621 | |
007 | ta | |
008 | 201126s2020 ulka 001c kor | |
020 | ▼a 9788966262755 ▼g 93000 | |
035 | ▼a (KERIS)BIB000015691741 | |
040 | ▼a 244008 ▼c 244008 ▼d 211009 | |
082 | 0 4 | ▼a 005.133 ▼2 23 |
085 | ▼a 005.133 ▼2 DDCK | |
090 | ▼a 005.133 ▼b J41 2020z8 | |
100 | 1 | ▼a 장윤기 |
245 | 1 0 | ▼a Practical 모던 자바 : ▼b 어려워진 자바, 실무에 자신 있게 적용하기 / ▼d 장윤기 지음. |
260 | ▼a 서울 : ▼b 인사이트, ▼c 2020 | |
300 | ▼a xiv, 514 p. : ▼b 삽화 ; ▼c 24 cm | |
440 | 0 0 | ▼a 프로그래밍 인사이트 |
500 | ▼a 부록: A. 제네릭 | |
945 | ▼a KLPA |
Holdings Information
No. | Location | Call Number | Accession No. | Availability | Due Date | Make a Reservation | Service |
---|---|---|---|---|---|---|---|
No. 1 | Location Science & Engineering Library/Sci-Info(Stacks1)/ | Call Number 005.133 J41 2020z8 | Accession No. 121255277 | Availability Available | Due Date | Make a Reservation | Service |
No. 2 | Location Sejong Academic Information Center/Science & Technology/ | Call Number 005.133 J41 2020z8 | Accession No. 151352418 | Availability Available | Due Date | Make a Reservation | Service |
No. | Location | Call Number | Accession No. | Availability | Due Date | Make a Reservation | Service |
---|---|---|---|---|---|---|---|
No. 1 | Location Science & Engineering Library/Sci-Info(Stacks1)/ | Call Number 005.133 J41 2020z8 | Accession No. 121255277 | Availability Available | Due Date | Make a Reservation | Service |
No. | Location | Call Number | Accession No. | Availability | Due Date | Make a Reservation | Service |
---|---|---|---|---|---|---|---|
No. 1 | Location Sejong Academic Information Center/Science & Technology/ | Call Number 005.133 J41 2020z8 | Accession No. 151352418 | Availability Available | Due Date | Make a Reservation | Service |
Contents information
Book Introduction
자바 6 이후 도입된 새로운 기능을 쉽게 풀어 설명한다. 각 버전별로 추가된 기능을 정리하고 각 기능의 도입 배경과 개념, 활용법, 기능 간의 관계 등을 자세히 다룬다. 실무에서 경험할 수 있는 다양한 상황을 예로 들어 자바의 새로운 기능이 어떤 편리함을 제공할 수 있는지 보여준다. 예제는 최신 LTS 버전인 JDK 11을 기준으로 하고 있어 바로 적용하기에 무리가 없다.
어렵게만 느껴지던 자바의 신기능을 쉽고 빠르게 익힌다!
자바는 발표된 지 25년이 지났지만 시대의 변화에 맞춰 계속 새로운 기능을 도입하며 발전하고 있다. 특히 자바 8 이후 버전에서는 기존에는 없던 새로운 개념과 기능을 대거 도입했다. 하지만 자바 개발자들은 여전히 자바 6 시절의 개발 지식에 머물러 있는 경우가 많다.
이 책은 자바 6 이후 도입된 새로운 기능을 쉽게 풀어 설명한다. 각 버전별로 추가된 기능을 정리하고 각 기능의 도입 배경과 개념, 활용법, 기능 간의 관계 등을 자세히 다룬다. 실무에서 경험할 수 있는 다양한 상황을 예로 들어 자바의 새로운 기능이 어떤 편리함을 제공할 수 있는지 보여준다. 예제는 최신 LTS 버전인 JDK 11을 기준으로 하고 있어 바로 적용하기에 무리가 없다.
《Practical 모던 자바》는 설명이 친절하면서 깊이 있고, 따라 하기 쉬운 간결한 예제들로 구성되어 있어 모던 자바의 장점과 효용성을 쉽게 이해할 수 있다. 현재 자바 8 이상 환경에서 개발하고 있지만 이전 버전의 코딩 방식에서 크게 벗어나지 못해 람다, 함수형 프로그래밍, 스트림이 낯설게 느껴지는 사람이나 업그레이드를 고민하고 있는 개발자들에게 도움이 될 것이다.
- 김효진(메리츠화재해상보험 IT팀)
[이 책에서 다루는 내용]
▶ 자바 버전별 변경 사항
▶ 함수형 프로그래밍
▶ 람다 표현식
▶ 스트림 API
▶ 병렬 프로그래밍
▶ 자바 모듈화
▶ 날짜와 시간 API
▶ NIO 2.0
Information Provided By: :

Author Introduction
장윤기(지은이)
1세대 자바 개발자로 1995년 JDK 베타 버전을 내려 받으며 자바와 인연을 맺었다. 정보는 서로 공유할 때 가치가 커진다고 생각하며, 이를 실천하기 위해 초창기 PC 통신 자바 개발자 동호회에서 세미나와 Q&A를 진행하였고 이를 계기로 <마이크로소프트웨어> <프로그램세계> <eWeek> 등의 잡지에 자바를 포함한 IT 관련 글을 기고했다. 지금도 각종 세미나, 소모임 등을 통해 정보를 공유하고 있다. 집필서로는 《Practical 자바 유틸리티》 《허드슨을 이용한 지속적 통합》 《서블릿과 JSP를 이용한 자바 웹 프로그래밍》 《JSP 고수 따라하기》가 있다.

Table of Contents
1장 자바의 발전 과정 1.1 들어가며 1.2 자바 연대표 1.3 자바는 죽었나? 1.4 자바 버전 정책의 변화 1.5 자바 버전별 새로운 기능 -1.5.1 자바 5 -1.5.2 자바 6 -1.5.3 자바 7 -1.5.4 자바 8 -1.5.5 자바 9 -1.5.6 자바 10 -1.5.7 자바 11 -1.5.8 자바 12 -1.5.9 자바 13 -1.5.10 자바 14 1.6 자바 버전 명명 규칙 1.7 요약 2장 인터페이스와 클래스 2.1 들어가며 2.2 인터페이스 사용 시 문제점 2.3 인터페이스의 진화 2.4 default, static, private 메서드 2.5 클래스와의 차이점과 제약 조건 2.6 다중 상속 관계 2.7 요약 3장 함수형 프로그래밍 3.1 들어가며 3.2 여행 상품 개발 3.3 조회 조건 추가 3.4 인터페이스로 대응 3.5 람다 표현식으로 코드 함축 3.6 메서드 참조 3.7 요약 4장 람다와 함수형 인터페이스 4.1 들어가며 4.2 람다 표현식이 필요한 이유 4.3 람다 표현식 이해하기 -4.3.1 람다 표현식으로 전환 -4.3.2 형식 추론 -4.3.3 람다 표현식과 변수 4.4 함수형 인터페이스 기본 -4.4.1 Consumer 인터페이스 -4.4.2 Function 인터페이스 -4.4.3 Predicate 인터페이스 -4.4.4 Supplier 인터페이스 -4.4.5 어떻게 쓸 것인가? 4.5 함수형 인터페이스 응용 -4.5.1 기본형 데이터를 위한 인터페이스 -4.5.2 Operator 인터페이스 4.6 메서드 참조 -4.6.1 메서드 참조란 -4.6.2 생성자 참조 4.7 람다 표현식 조합 -4.7.1 Consumer 조합 -4.7.2 Predicate 조합 -4.7.3 Function 조합 4.8 요약 5장 스트림 API 5.1 들어가며 5.2 스트림 인터페이스 이해 -5.2.1 스트림 인터페이스 -5.2.2 기본형 스트림 인터페이스 5.3 스트림 객체 생성 -5.3.1 스트림 객체 생성 이해 -5.3.2 스트림 빌더 5.4 스트림 연산 이해 -5.4.1 중간 연산 -5.4.2 최종 연산 5.5 주요 스트림 연산 상세 -5.5.1 데이터 필터링 -5.5.2 데이터 정렬 -5.5.3 데이터 매핑 -5.5.4 데이터 반복 처리 -5.5.5 컬렉션으로 변환 5.6 기타 스트림 생성 방법 5.7 추가 스트림 연산들 -5.7.1 데이터 평면화 -5.7.2 데이터 검색 5.8 리듀스 연산 -5.8.1 합계를 구하는 방법들 -5.8.2 리듀스 연산 이해 -5.8.3 리듀스 연산 응용 5.9 요약 6장 병렬 프로그래밍 6.1 들어가며 6.2 컨커런트 API -6.2.1 컨커런트 API 개요 -6.2.2 컨커런트 API 패키지 6.3 Executors 클래스 -6.3.1 Executor 인터페이스 -6.3.2 ExecutorService 인터페이스 -6.3.3 ScheduledExecutorService 인터페이스 -6.3.4 TimeUnit 6.4 포크/조인 프레임워크 6.5 Future와 CompletableFuture 6.6 스트림 병렬 처리 -6.6.1 스트림 병렬 처리 이해 -6.6.2 스레드 개수 제어 -6.6.3 parallel과 sequential 6.7 분할 반복 Spliterator 6.8 컨커런트 컬렉션 6.9 기타 유용한 기능 -6.9.1 원자적 변수 -6.9.2 컨커런트 랜덤 숫자 6.10 요약 7장 파일 I/O(NIO 2.0) 7.1 들어가며 7.2 개념 이해하기 7.3 경로 이해하기 7.4 Path를 이용한 경로 관리 -7.4.1 Path 생성 -7.4.2 Path 정보 활용 7.5 파일 관리 -7.5.1 Files 클래스 개요 -7.5.2 파일과 디렉터리 검증 -7.5.3 파일과 디렉터리 복사 -7.5.4 파일과 디렉터리 이동 -7.5.5 파일과 디렉터리 삭제 -7.5.6 파일 속성 정보 확인 7.6 파일 생성, 쓰기, 읽기 -7.6.1 파일 열기 옵션 -7.6.2 Files 클래스 이용 -7.6.3 버퍼 입출력 이용 -7.6.4 스트림 I/O -7.6.5 채널과 바이트 버퍼 -7.6.6 일반 파일과 임시 파일 생성 7.7 랜덤 액세스 파일 7.8 디렉터리 처리 -7.8.1 디렉터리 생성 -7.8.2 디렉터리 목록 조회 -7.8.3 목록 필터링 -7.8.4 루트 디렉터리 7.9 파일 트리 -7.9.1 walkFileTree 메서드 -7.9.2 이전 방식 -7.9.3 walk와 find 메서드 7.10 디렉터리 변경 감지 7.11 요약 8장 날짜와 시간 8.1 들어가며 8.2 이전 버전의 문제점 -8.2.1 멀티 스레드에 취약 -8.2.2 명명 규칙 -8.2.3 데이터 불변성 8.3 새로운 날짜와 시간 8.4 날짜 8.5 날짜와 시간 8.6 파싱과 포매팅 8.7 타임존과 오프셋 8.8 날짜와 시간의 차이 8.9 Temporal 패키지 8.10 과거 버전과의 호환성 8.11 요약 9장 자바 모듈화 9.1 들어가며 9.2 자바 모듈화 등장 배경 9.3 자바 모듈화의 필요성 -9.3.1 캡슐화의 문제점 -9.3.2 클래스패스의 문제점 -9.3.3 한정된 자원 활용 9.4 자바 모듈화 이해 9.5 자바 모듈 생성 -9.5.1 모듈 이름 작성 -9.5.2 모듈 디렉터리 생성 -9.5.3 자바 코드 작성 -9.5.4 모듈 기술자 작성 -9.5.5 모듈 기반 컴파일 및 실행 9.6 자바 모듈 의존성과 접근성 -9.6.1 의존성 정의(requires) -9.6.2 접근성 정의(exports) -9.6.3 특수한 java.se 모듈 9.7 자바 모듈 서비스 9.8 링크와 배포 -9.8.1 jlink의 목표와 활용 -9.8.2 jlink로 이미지 만들기 9.9 요약 10장 JShell 도구 10.1 들어가며 10.2 JShell이란? 10.3 코드 스니핏 10.4 자동 완성 기능 10.5 명령어들 10.6 코드 스니핏 수정 -10.6.1 단축 키 -10.6.2 외부 편집기 10.7 외부 코드 활용 10.8 요약 11장 유용한 새 기능들 11.1 들어가며 11.2 예외 처리의 발전 -11.2.1 예외 처리 기본 개념 -11.2.2 try 문의 개선 -11.2.3 AutoCloseable 인터페이스 -11.2.4 catch 문의 문제점과 개선 11.3 로컬 변수 타입 추론 11.4 반응형 스트림 Flow API -11.4.1 Subscriber -11.4.2 Publisher -11.4.3 Processor 11.5 HTTP 지원 강화 -11.5.1 HTTP 클라이언트 -11.5.2 웹소켓 11.6 Optional 클래스 -11.6.1 Optional 클래스 개념 이해 -11.6.2 map과 flatMap을 이용한 연결 -11.6.3 기본형 Optional 클래스 11.7 요약 부록A 제네릭 A.1 들어가며 A.2 제네릭 기본 이해 A.3 제네릭과 클래스/메서드 설계 A.4 JVM에서 제네릭 처리 A.5 와일드카드와 타입 제한 -A.5.1 extends를 이용한 제한 -A.5.2 super를 이용한 제한 A.6 제네릭 제약 조건 A.7 다이아몬드 연산자