간편결제, 신용카드 청구할인
네이버페이 1%
(네이버페이 결제 시 적립)
북피니언 롯데카드 30% (22,680원)
(최대할인 3만원 / 3만원 이상 결제)
EBS 롯데카드 20% (25,920원)
(최대할인 3만원 / 3만원 이상 결제)
인터파크 NEW 우리V카드 10% (29,160원)
(최대할인 3만원 / 3만원 이상 결제)
인터파크 현대카드 7% (30,140원)
(최대할인 3만원 / 3만원 이상 결제)
Close

가장 빨리 만나는 코어 자바 9 : 람다 표현식, 스트림, 개선된 API, JShell, 모듈

원제 : Core Java SE 9 for the Impatient

2013년 9월 9일 이후 누적수치입니다.

판매지수 602
?
판매지수란?
사이트의 판매량에 기반하여 판매량 추이를 반영한 인터파크 도서에서의 독립적인 판매 지수입니다. 현재 가장 잘 팔리는 상품에 가중치를 두었기 때문에 실제 누적 판매량과는 다소 차이가 있을 수 있습니다. 판매량 외에도 다양한 가중치로 구성되어 최근의 이슈도서 확인시 유용할 수 있습니다. 해당 지수는 매일 갱신됩니다.
Close
공유하기
정가

36,000원

  • 32,400 (10%할인)

    1,800P (5%적립)

  • 구매

    28,800 (20%할인)

    1,440P (5%적립)

할인혜택
적립혜택자동적립
배송정보
주문수량
감소 증가
  • 이벤트/기획전(2)

  • 연관도서

  • 사은품(5)

책소개

자바 9으로 배우는 모던 자바!

자바 프로그래머가 알아야 할 모던 자바의 핵심을 다루면서 자바 8과 9의 특징을 짚어준다. 자바 8의 람다 표현식과 스트림 라이브러리, 자바 9의 JShell과 모듈 시스템의 장점을 간결하게 설명한다. 핵심에 집중하여 개념을 빠르게 익히고, 예제 코드를 보면서 프로그래밍 문제 해결 방법을 배운 뒤 실무에 바로 적용할 수 있다.

출판사 서평

모던 자바의 장점을 실무에 빠르게 적용하자!
이 책은 기존 책에 자바 8/9에 추가된 개념과 특징을 덧붙이기보다는 처음부터 모던 자바의 시각으로 자바 9를 배울 수 있게 이끌어 준다. 자바 9에서는 ‘자바 플랫폼 모듈 시스템’이라는 모듈 개념을 도입했으며, JDK 라이브러리 자체도 모듈화했다. 덕분에 캡슐화 단계가 추가되고 보안성이 높아졌으며, 필요한 모듈만으로 애플리케이션을 구성해 이전보다 훨씬 작은 단위로 배포할 수 있게 되었다. 이외에도 자바 9에 추가된 JShell, 각종 명령줄 도구, 한층 개선된 API(프로세스, HTTP 클라이언트, 컬렉션, 스트림 등)는 자바 프로그래머의 생산성 향상에 큰 도움이 될 것이다.

이 책에서 다루는 내용
람다 표현식, 스트림, 개선된 API, JShell, 모듈을 간결하고 명확하게 설명한다.
- 새로운 JShell Read-Eval-Print Loop(REPL)를 사용하여 테스트 코드를 작성한다.
- 람다 표현식으로 원하는 동작만 지정하여 작업을 더욱 간결하게 표현한다.
- 최신 스트림 API로 데이터 처리를 간소화하고 최적화한다.
- 병행성 라이브러리를 사용하여 현대적 병행 프로그래밍을 다룬다.
- 광범위하게 개선된 API(컬렉션, 병행성, 프로세스, HTTP 클라이언트, 스트림 등)를 활용한다.
- 모듈을 사용하여 복합 시스템의 개발을 단순화한다.
- 모듈로 API를 정리하여 보안성을 높이고, 배포 단위를 줄인다.
- 레거시 코드를 모듈식 애플리케이션으로 마이그레이션한다.

목차

1장 기본 프로그래밍 구조
1.1 첫 번째 프로그램
- 1.1.1 "Hello, World" 프로그램 파헤치기
- 1.1.2 자바 프로그램 컴파일 및 실행
- 1.1.3 메서드 호출
- 1.1.4 JShell 실행
1.2 기본 타입
- 1.2.1 부호 있는 정수 타입
- 1.2.2 부동소수점 타입
- 1.2.3 char 타입
- 1.2.4 boolean 타입
1.3 변수
- 1.3.1 변수 선언
- 1.3.2 변수 이름
- 1.3.3 변수 초기화
- 1.3.4 상수
1.4 산술 연산
- 1.4.1 할당
- 1.4.2 기본 계산
- 1.4.3 수학 메서드
- 1.4.4 숫자 타입 변환
- 1.4.5 관계 연산자와 논리 연산자
- 1.4.6 큰 숫자
1.5 문자열
- 1.5.1 문자열 연결
- 1.5.2 부분 문자열
- 1.5.3 문자열 비교
- 1.5.4 숫자와 문자열 사이의 변환
- 1.5.5 문자열 API
- 1.5.6 코드 포인트와 코드 유닛
1.6 입력과 출력
- 1.6.1 입력 읽어 오기
- 1.6.2 포맷 적용 출력
1.7 제어 흐름
- 1.7.1 분기
- 1.7.2 루프
- 1.7.3 중단과 계속
- 1.7.4 지역 변수의 유효 범위
1.8 배열과 배열 리스트
- 1.8.1 배열 다루기
- 1.8.2 배열 생성
- 1.8.3 배열 리스트
- 1.8.4 기본 타입의 래퍼 클래스
- 1.8.5 향상된 for 루프
- 1.8.6 배열과 배열 리스트 복사
- 1.8.7 배열 알고리즘
- 1.8.8 명령줄 인수
- 1.8.9 다차원 배열
1.9 기능적 분해
- 1.9.1 정적 메서드 선언 및 호출
- 1.9.2 배열 매개변수와 반환 값
- 1.9.3 가변 인수
연습문제

2장 객체 지향 프로그래밍
2.1 객체 사용
- 2.1.1 접근자 메서드와 변경자 메서드
- 2.1.2 객체 참조
2.2 클래스 구현
- 2.2.1 인스턴스 변수
- 2.2.2 메서드 헤더
- 2.2.3 메서드 바디
- 2.2.4 인스턴스 메서드 호출
- 2.2.5 this 참조
- 2.2.6 값을 사용한 호출
2.3 객체 생성
- 2.3.1 생성자 구현
- 2.3.2 오버로딩
- 2.3.3 다른 생성자에서 특정 생성자 호출
- 2.3.4 기본 초기화
- 2.3.5 인스턴스 변수 초기화
- 2.3.6 최종 인스턴스 변수
- 2.3.7 인수 없는 생성자
2.4 정적 변수와 정적 메서드
- 2.4.1 정적 변수
- 2.4.2 정적 상수
- 2.4.3 정적 초기화 블록
- 2.4.4 정적 메서드
- 2.4.5 팩토리 메서드
2.5 패키지
- 2.5.1 패키지 선언
- 2.5.2 jar 명령
- 2.5.3 클래스 패스
- 2.5.4 패키지 접근
- 2.5.5 클래스 임포트
- 2.5.6 정적 임포트
2.6 중첩 클래스
- 2.6.1 정적 중첩 클래스
- 2.6.2 내부 클래스
- 2.6.3 내부 클래스용 특수 문법 규칙
2.7 문서화 주석
- 2.7.1 주석 넣기
- 2.7.2 클래스 주석
- 2.7.3 메서드 주석
- 2.7.4 변수 주석
- 2.7.5 일반 주석
- 2.7.6 링크
- 2.7.7 패키지 주석, 모듈 주석, 개요 주석
- 2.7.8 주석 내보내기
연습문제

3장 인터페이스와 람다 표현식
3.1 인터페이스
- 3.1.1 인터페이스 선언
- 3.1.2 인터페이스 구현
- 3.1.3 인터페이스 타입으로 변환
- 3.1.4 캐스트와 instanceof 연산자
- 3.1.5 인터페이스 확장
- 3.1.6 여러 인터페이스 구현
- 3.1.7 상수
3.2 인터페이스의 정적 메서드, 기본 메서드, 비공개 메서드
- 3.2.1 정적 메서드
- 3.2.2 기본 메서드
- 3.2.3 기본 메서드의 충돌 해결
- 3.2.4 비공개 메서드
3.3 인터페이스의 예
- 3.3.1 Comparable 인터페이스
- 3.3.2 Comparator 인터페이스
- 3.3.3 Runnable 인터페이스
- 3.3.4 사용자 인터페이스 콜백
3.4 람다 표현식
- 3.4.1 람다 표현식 문법
- 3.4.2 함수형 인터페이스
3.5 메서드 참조와 생성자 참조
- 3.5.1 메서드 참조
- 3.5.2 생성자 참조
3.6 람다 표현식 처리
- 3.6.1 지연 실행 구현
- 3.6.2 함수형 인터페이스 선택
- 3.6.3 독자적인 함수형 인터페이스 구현
3.7 람다 표현식과 변수 유효 범위
- 3.7.1 람다 표현식의 유효 범위
- 3.7.2 람다 표현식을 감싸는 유효 범위에 속한 변수 접근
3.8 고차 함수
- 3.8.1 함수를 반환하는 메서드
- 3.8.2 함수를 수정하는 메서드
- 3.8.3 Comparator 인터페이스의 메서드
3.9 지역 클래스와 익명 클래스
- 3.9.1 지역 클래스
- 3.9.2 익명 클래스
연습문제

4장 상속과 리플렉션
4.1 클래스 확장
- 4.1.1 슈퍼클래스와 서브클래스
- 4.1.2 서브클래스 메서드 정의와 상속
- 4.1.3 메서드 오버라이딩
- 4.1.4 서브클래스 생성
- 4.1.5 슈퍼클래스 할당
- 4.1.6 캐스트
- 4.1.7 최종 메서드와 최종 클래스
- 4.1.8 추상 메서드와 추상 클래스
- 4.1.9 보호 접근
- 4.1.10 익명 서브클래스
- 4.1.11 상속과 기본 메서드
- 4.1.12 super를 이용한 메서드 표현식
4.2 Object: 보편적 슈퍼클래스
- 4.2.1 toString 메서드
- 4.2.2 equals 메서드
- 4.2.3 hashCode 메서드
- 4.2.4 객체 복제
4.3 열거
- 4.3.1 열거의 메서드
- 4.3.2 생성자, 메서드, 필드
- 4.3.3 인스턴스의 바디
- 4.3.4 정적 멤버
- 4.3.5 열거를 기준으로 스위치하기
4.4 실행 시간 타입 정보와 리소스
- 4.4.1 Class 클래스
- 4.4.2 리소스 로드
- 4.4.3 클래스 로더
- 4.4.4 컨텍스트 클래스 로더
- 4.4.5 서비스 로더
4.5 리플렉션
- 4.5.1 클래스 멤버 나열
- 4.5.2 객체 조사
- 4.5.3 메서드 호출
- 4.5.4 객체 생성
- 4.5.5 자바빈
- 4.5.6 배열 다루기
- 4.5.7 프록시
연습문제

5장 예외, 단정, 로깅
5.1 예외 처리
- 5.1.1 예외 던지기
- 5.1.2 예외 계층
- 5.1.3 검사 예외 선언
- 5.1.4 예외 잡기
- 5.1.5 try-with-resources 문
- 5.1.6 finally 절
- 5.1.7 예외 다시 던지기와 예외 연쇄
- 5.1.8 미처리 예외와 스택 추적
- 5.1.9 Objects.requireNonNull 메서드
5.2 단정
- 5.2.1 단정 사용
- 5.2.2 단정 활성화와 비활성화
5.3 로깅
- 5.3.1 로거 사용
- 5.3.2 로거
- 5.3.3 로깅 레벨
- 5.3.4 기타 로깅 메서드
- 5.3.5 로깅 구성
- 5.3.6 로그 핸들러
- 5.3.7 필터와 포매터
연습문제

6장 제네릭 프로그래밍
6.1 제네릭 클래스
6.2 제네릭 메서드
6.3 타입 경계
6.4 타입 가변성과 와일드카드
- 6.4.1 서브타입 와일드카드
- 6.4.2 슈퍼타입 와일드카드
- 6.4.3 타입 변수를 이용한 와일드카드
- 6.4.4 경계 없는 와일드카드
- 6.4.5 와일드카드 캡처
6.5 자바 가상 머신에서 보는 제네릭
- 6.5.1 타입 소거
- 6.5.2 캐스트 삽입
- 6.5.3 브리지 메서드
6.6 제네릭의 제약
- 6.6.1 기본 타입 인수를 사용할 수 없다
- 6.6.2 실행 시간에는 모든 타입이 로 형태다
- 6.6.3 타입 변수를 인스턴스화할 수 없다
- 6.6.4 매개변수화된 타입의 배열을 생성할 수 없다
- 6.6.5 정적 컨텍스트에서는 클래스 타입 변수가 유효하지 않다
- 6.6.6 메서드가 소거 후 충돌하지 않을 수도 있다
- 6.6.7 예외와 제네릭
6.7 리플렉션과 제네릭
- 6.7.1 Class[T] 클래스
- 6.7.2 가상 머신에 있는 제네릭 타입 정보
연습문제

7장 컬렉션
7.1 컬렉션 프레임워크 개요
7.2 반복자
7.3 집합
7.4 맵
7.5 기타 컬렉션
- 7.5.1 프로퍼티
- 7.5.2 비트 집합
- 7.5.3 열거 집합과 열거 맵
- 7.5.4 스택, 큐, 덱, 우선순위 큐
- 7.5.5 약한 해시 맵
7.6 뷰
- 7.6.1 작은 컬렉션
- 7.6.2 범위
- 7.6.3 수정 불가 뷰
연습문제

8장 스트림
8.1 반복에서 스트림 연산으로 전환
8.2 스트림 생성
8.3 filter, map, flatMap 메서드
8.4 서브스트림 추출과 스트림 결합
8.5 기타 스트림 변환
8.6 단순 리덕션
8.7 옵션 타입
- 8.7.1 옵션 값을 사용하는 방법
- 8.7.2 옵션 값을 사용하지 않는 방법
- 8.7.3 옵션 값 생성
- 8.7.4 flatMap으로 옵션 값 함수 합성
- 8.7.5 옵션 값을 스트림으로 변환
8.8 결과 모으기
8.9 맵으로 모으기
8.10 그루핑과 파티셔닝
8.11 다운스트림 컬렉터
8.12 리덕션 연산
8.13 기본 타입 스트림
8.14 병렬 스트림
연습문제

9장 입출력 처리
9.1 입출력 스트림, 리더와 라이터
- 9.1.1 스트림 얻기
- 9.1.2 바이트 읽기
- 9.1.3 바이트 쓰기
- 9.1.4 문자 인코딩
- 9.1.5 텍스트 입력
- 9.1.6 텍스트 출력
- 9.1.7 바이너리 데이터 읽기 및 쓰기
- 9.1.8 임의 접근 파일
- 9.1.9 메모리 맵 파일
- 9.1.10 파일 잠금
9.2 경로, 파일, 디렉터리
- 9.2.1 경로
- 9.2.2 파일과 디렉터리 생성
- 9.2.3 파일 복사, 이동, 삭제
- 9.2.4 디렉터리 엔트리 방문
- 9.2.5 ZIP 파일 시스템
9.3 HTTP 커넥션
- 9.3.1 URLConnection과 HttpURLConnection 클래스
- 9.3.2 HTTP 클라이언트 API
9.4 정규 표현식
- 9.4.1 정규 표현식 문법
- 9.4.2 일치 항목 한 개 찾기
- 9.4.3 모든 일치 항목 찾기
- 9.4.4 그룹
- 9.4.5 구분자로 분리
- 9.4.6 일치 항목 교체
- 9.4.7 플래그
9.5 직렬화
- 9.5.1 Serializable 인터페이스
- 9.5.2 일시적인 인스턴스 변수
- 9.5.3 readObject와 writeObject 메서드
- 9.5.4 readResolve와 writeReplace 메서드
- 9.5.5 버전 관리
연습문제

10장 병행 프로그래밍
10.1 병행 태스크
- 10.1.1 태스크 실행
- 10.1.2 퓨처
10.2 비동기 계산
- 10.2.1 완료 가능한 퓨처
- 10.2.2 완료 가능한 퓨처 합성
- 10.2.3 사용자 인터페이스 콜백에서 장시간 수행하는 태스크
10.3 스레드 안전성
- 10.3.1 가시성
- 10.3.2 경쟁 조건
- 10.3.3 안전한 병행성을 실현하는 전략
- 10.3.4 불변 클래스
10.4 병렬 알고리즘
- 10.4.1 병렬 스트림
- 10.4.2 병렬 배열 연산
10.5 스레드 안전 자료 구조
- 10.5.1 병행 해시 맵
- 10.5.2 블로킹 큐
- 10.5.3 기타 스레드 안전 자료 구조
10.6 원자적 카운터와 누산기
10.7 잠금과 조건
- 10.7.1 잠금
- 10.7.2 synchronized 키워드
- 10.7.3 조건 대기
10.8 스레드
- 10.8.1 스레드 시작
- 10.8.2 스레드 인터럽션
- 10.8.3 스레드 로컬 변수
- 10.8.4 기타 스레드 프로퍼티
10.9 프로세스
- 10.9.1 프로세스 생성
- 10.9.2 프로세스 실행
- 10.9.3 프로세스 핸들
연습문제

11장 애너테이션
11.1 애너테이션 사용
- 11.1.1 애너테이션 요소
- 11.1.2 다중 애너테이션과 반복 애너테이션
- 11.1.3 선언에 애너테이션 붙이기
- 11.1.4 타입 사용에 애너테이션 붙이기
- 11.1.5 수신자를 명확하게 지정
11.2 애너테이션 정의
11.3 표준 애너테이션
- 11.3.1 컴파일용 애너테이션
- 11.3.2 리소스 관리용 애너테이션
- 11.3.3 메타애너테이션
11.4 실행 시간에 애너테이션 처리
11.5 소스 수준 애너테이션 처리
- 11.5.1 애너테이션 처리기
- 11.5.2 언어 모델 API
- 11.5.3 애너테이션으로 소스 코드 생성
연습문제

12장 날짜와 시간 API
12.1 타임 라인
12.2 지역 날짜
12.3 날짜 조정기
12.4 지역 시간
12.5 구역 시간
12.6 포매팅과 파싱
12.7 레거시 코드와 상호 작동
연습문제

13장 국제화
13.1 로케일
- 13.1.1 로케일 지정
- 13.1.2 기본 로케일
- 13.1.3 표시 이름
13.2 숫자 형식
13.3 통화
13.4 날짜와 시간 포매팅
13.5 컬레이션과 정규화
13.6 메시지 포매팅
13.7 리소스 번들
- 13.7.1 리소스 번들 구성
- 13.7.2 번들 클래스
13.8 문자 인코딩
13.9 프레퍼런스
연습문제

14장 컴파일링과 스크립팅
14.1 컴파일러 API
- 14.1.1 컴파일러 호출
- 14.1.2 컴파일 태스크 실행
- 14.1.3 메모리에서 소스 파일 읽기
- 14.1.4 메모리에 바이트 코드 작성
- 14.1.5 진단 정보 캡처
14.2 스크립팅 API
- 14.2.1 스크립팅 엔진 얻기
- 14.2.2 바인딩
- 14.2.3 입력과 출력 재지정
- 14.2.4 스크립팅 함수와 메서드 호출
- 14.2.5 스크립트 컴파일
14.3 Nashorn 스크립팅 엔진
- 14.3.1 명령줄에서 Nashorn 실행
- 14.3.2 게터, 세터, 오버로드된 메서드 호출
- 14.3.3 자바 객체 생성
- 14.3.4 자바스크립트와 자바의 문자열
- 14.3.5 숫자
- 14.3.6 배열 다루기
- 14.3.7 리스트와 맵
- 14.3.8 람다
- 14.3.9 자바 클래스 확장과 자바 인터페이스 구현
- 14.3.10 예외
14.4 Nashorn을 이용한 셸 스크립팅
- 14.4.1 셸 명령 실행
- 14.4.2 문자열 인터폴레이션
- 14.4.3 스크립트 입력
연습문제

15장 자바 플랫폼 모듈 시스템
15.1 모듈 개념 잡기
15.2 모듈 이름 짓기
15.3 모듈식 "Hello, World!" 프로그램
15.4 모듈 요구
15.5 패키지 익스포트
15.6 모듈과 리플렉션을 이용한 접근
15.7 모듈식 JAR
15.8 자동 모듈과 이름 없는 모듈
15.9 마이그레이션용 명령줄 플래그
15.10 전이적 요구 사항과 정적 요구 사항
15.11 한정된 익스포트와 개방
15.12 서비스 로드
15.13 모듈 작업용 도구
연습문제

찾아보기

관련이미지

저자소개

카이 호스트만(Cay S. Hortsmann) [저] 신작알림 SMS신청 작가DB보기
생년월일 -
출생지 -
출간도서 0종
판매수 0권

[가장 빨리 만나는 자바 8](길벗, 2014), [쉽게 배워서 빨리 써먹 는 스칼라 프로그래밍](비제이퍼블릭, 2013)의 저자이자 [Core Java™, Volumes I and II, 10th Edition](Prentice Hall, 2016) 의 주 저자이며, 전문 프로그래머와 컴퓨터 과학 학생들을 위해 12권도 넘는 책을 저술했다. 현재 산호세 주립 대학교의 컴퓨터 과학 교수이며 자바 챔피언이다.

생년월일 -
출생지 -
출간도서 0종
판매수 0권

넥스텔레콤에서 SIP 서버 매니저와 빌링 서버 개발을 시작으로, 한컴씽크프리에서 자바/안드로이드 공통 라이브러리 개발을 담당 했고 몇몇 스타트업에서 LBS, SNS, 뉴스 큐레이션 앱 등을 개발 했다. 옮긴 책으로는 [가장 빨리 만나는 자바 8], [스프링 4 코딩 공 작소]가 있다. 요즘은 온라인 학습 시스템을 개발/운영 중이다.

이벤트 기획전

이 책과 내용이 비슷한 책 ? 내용 유사도란? 이 도서가 가진 내용을 분석하여 기준 도서와 얼마나 많이 유사한 콘텐츠를 많이 가지고 있는가에 대한 비율입니다.

    리뷰

    0.0 (총 0건)

    기대평

    작성시 유의사항

    평점
    0/200자
    등록하기

    기대평

    0.0

    교환/환불

    교환/환불 방법

    ‘마이페이지 > 취소/반품/교환/환불’ 에서 신청함, 1:1 문의 게시판 또는 고객센터(1577-2555) 이용 가능

    교환/환불 가능 기간

    고객변심은 출고완료 다음날부터 14일 까지만 교환/환불이 가능함

    교환/환불 비용

    고객변심 또는 구매착오의 경우에만 2,500원 택배비를 고객님이 부담함

    교환/환불 불가사유

    반품접수 없이 반송하거나, 우편으로 보낼 경우 상품 확인이 어려워 환불이 불가할 수 있음
    배송된 상품의 분실, 상품포장이 훼손된 경우, 비닐랩핑된 상품의 비닐 개봉시 교환/반품이 불가능함

    소비자 피해보상

    소비자 피해보상의 분쟁처리 등에 관한 사항은 소비자분쟁해결기준(공정거래위원회 고시)에 따라 비해 보상 받을 수 있음
    교환/반품/보증조건 및 품질보증 기준은 소비자기본법에 따른 소비자 분쟁 해결 기준에 따라 피해를 보상 받을 수 있음

    기타

    도매상 및 제작사 사정에 따라 품절/절판 등의 사유로 주문이 취소될 수 있음(이 경우 인터파크도서에서 고객님께 별도로 연락하여 고지함)

    배송안내

    • 인터파크 도서 상품은 택배로 배송되며, 출고완료 1~2일내 상품을 받아 보실 수 있습니다

    • 출고가능 시간이 서로 다른 상품을 함께 주문할 경우 출고가능 시간이 가장 긴 상품을 기준으로 배송됩니다.

    • 군부대, 교도소 등 특정기관은 우체국 택배만 배송가능하여, 인터파크 외 타업체 배송상품인 경우 발송되지 않을 수 있습니다.

    • 배송비

    도서(중고도서 포함) 구매

    2,000원 (1만원이상 구매 시 무료배송)

    음반/DVD/잡지/만화 구매

    2,000원 (2만원이상 구매 시 무료배송)

    도서와 음반/DVD/잡지/만화/
    중고직배송상품을 함께 구매

    2,000원 (1만원이상 구매 시 무료배송)

    업체직접배송상품 구매

    업체별 상이한 배송비 적용