장바구니 담기 close

장바구니에 상품을 담았습니다.

카이 호스트만의 코어 자바 8

카이 호스트만의 코어 자바 8

  • 카이 호스트만
  • |
  • 길벗
  • |
  • 2015-12-18 출간
  • |
  • 536페이지
  • |
  • 183 X 235 X 22 mm /994g
  • |
  • ISBN 9791186978115
판매가

36,000원

즉시할인가

32,400

배송비

무료배송

(제주/도서산간 배송 추가비용:3,000원)

수량
+ -
총주문금액
32,400

※ 스프링제본 상품은 반품/교환/환불이 불가능하므로 신중하게 선택하여 주시기 바랍니다.

출판사서평

이제 고전이 된 《Core Java™》는 언어는 물론 모든 코어 라이브러리와 버전 간의 많은 변화까지 꼼꼼히 다뤄서 두 권인 데다 2,000쪽이 넘었다. 엄청난 분량으로 유명한 코어 자바 시리즈가 핵심만 간추려 담은 Impatient 콘셉트로 다시 태어났다.

이 책은 데이터 타입이나 기초 문법, 객체 지향 프로그래밍은 100쪽 내로 핵심만 짚고 넘어간다. 이어서 자바 8에 추가된 람다 표현식을 비롯하여, 스트림, 병행 프로그래밍, 날짜와 시간 같은 최신 라이브러리에 관한 내용도 담았다.

▶ 이 책의 대상 독자 ◀
- 자바 8로 자바를 다시 학습하려는 개발자
- 자바 8에 익숙하지 않은 개발자, 자바를 최신 버전으로 빠르게 배우고 싶은 개발자

목차

지은이 서문
옮긴이 서문

1장 기본 프로그래밍 구조

1.1 첫 번째 프로그램
___1.1.1 Hello, World 프로그램 분석하기
___1.1.2 자바 프로그램 컴파일하고 실행하기
___1.1.3 메서드 호출
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 클래스 패스
___2.5.3 패키지 유효 범위
___2.5.4 클래스 임포트하기
___2.5.5 정적 임포트
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.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.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 URL 커넥션
9.4 정규 표현식
___9.4.1 정규 표현식 문법
___9.4.2 하나 또는 모든 일치 대상 찾기
___9.4.3 그룹
___9.4.4 일치 항목 제거 또는 교체
___9.4.5 플래그
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.2.4 불변 클래스
10.3 병렬 알고리즘
___10.3.1 병령 스트림
___10.3.2 병렬 배열 연산
10.4 스레드 안전 자료 구조
___10.4.1 병행 해시 맵
___10.4.2 블로킹 큐
___10.4.3 기타 스레드 안전 자료 구조
10.5 원잣값
10.6 잠금
___10.6.1 재진입 가능 잠금
___10.6.2 synchronized 키워드
___10.6.3 조건 대기
10.7 스레드
___10.7.1 스레드 시작하기
___10.7.2 스레드 인터럽션
___10.7.3 스레드 로컬 변수
___10.7.4 기타 스레드 프로퍼티
10.8 비동기 계산
___10.8.1 사용자 인터페이스 콜백에서 오랜 시간 실행하는 태스크
___10.8.2 완료 가능한 퓨처
10.9 프로세스
___10.9.1 프로세스 생성하기
___10.9.2 프로세스 실행하기
연습문제

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 스크립트 입력
연습문제

찾아보기

저자소개

저자 카이 호스트만(Cay S. Horstmann)은 《가장 빨리 만나는 자바 8》 (길벗, 2014)과 《쉽게 배워서 빨리 써먹는 스칼라 프로그래밍》 (비제이퍼블릭, 2013)의 저자이며, 《Core Java™, Volumes Ⅰ and Ⅱ, 10th Edition》 (Prentice Hall, 2016)의 대표 저자이다. 이외에도 전문 프로그래머와 컴퓨터 과학 학생들을 대상으로 한 다양한 책을 집필했다. 현재 산호세 주립 대학교의 컴퓨터 과학 교수로 재직 중이며, 자바 챔피언이다.

도서소개

자바가 현대 언어로 다시 태어났다!

자바 8이 등장하면서 모든 것이 바뀌었다. 함수형 프로그래밍을 지원하는 람다를 도입했고, 병행 프로그래밍 또한 기존의 오류가 발생하기 쉬운 방식 대신 스트림 API를 사용하여 새롭게 접근할 수 있게 했다. 이런 변화는 20여 년 동안 견고하게 다져진 자바를 더욱 강력한 언어로 만들었다. 이제는 단순히 자바 8의 새 기능을 쓰는 것이 아니라 바뀐 현대 언어의 시각으로 자바를 시작해야 한다.

이 책은 자바 8에 추가된 개념과 특징을 기존 자바에 덧붙인 것이 아니라 기본 문법부터 라이브러리까지 현대 자바의 시각으로 자바의 모든 면을 배울 수 있게 해준다. 이 책으로 간결하고 빠르게 현대 자바를 배울 수 있을 것이다.

교환 및 환불안내

도서교환 및 환불
  • ㆍ배송기간은 평일 기준 1~3일 정도 소요됩니다.(스프링 분철은 1일 정도 시간이 더 소요됩니다.)
  • ㆍ상품불량 및 오배송등의 이유로 반품하실 경우, 반품배송비는 무료입니다.
  • ㆍ고객님의 변심에 의한 반품,환불,교환시 택배비는 본인 부담입니다.
  • ㆍ상담원과의 상담없이 교환 및 반품으로 반송된 물품은 책임지지 않습니다.
  • ㆍ이미 발송된 상품의 취소 및 반품, 교환요청시 배송비가 발생할 수 있습니다.
  • ㆍ반품신청시 반송된 상품의 수령후 환불처리됩니다.(카드사 사정에 따라 카드취소는 시일이 3~5일이 소요될 수 있습니다.)
  • ㆍ주문하신 상품의 반품,교환은 상품수령일로 부터 7일이내에 신청하실 수 있습니다.
  • ㆍ상품이 훼손된 경우 반품 및 교환,환불이 불가능합니다.
  • ㆍ반품/교환시 고객님 귀책사유로 인해 수거가 지연될 경우에는 반품이 제한될 수 있습니다.
  • ㆍ스프링제본 상품은 교환 및 환불이 불가능 합니다.
  • ㆍ군부대(사서함) 및 해외배송은 불가능합니다.
  • ㆍ오후 3시 이후 상담원과 통화되지 않은 취소건에 대해서는 고객 반품비용이 발생할 수 있습니다.
반품안내
  • 마이페이지 > 나의상담 > 1 : 1 문의하기 게시판 또는 고객센터 1800-7327
교환/반품주소
  • 경기도 파주시 문발로 211 1층 / (주)북채널 / 전화 : 1800-7327
  • 택배안내 : CJ대한통운(1588-1255)
  • 고객님 변심으로 인한 교환 또는 반품시 왕복 배송비 5,000원을 부담하셔야 하며, 제품 불량 또는 오 배송시에는 전액을 당사에서부담 합니다.