장바구니 담기 close

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

헤드 퍼스트 자바

헤드 퍼스트 자바

  • 캐시 시에라
  • |
  • 한빛미디어
  • |
  • 2024-01-02 출간
  • |
  • 752페이지
  • |
  • 203 X 245 X 30mm
  • |
  • ISBN 9791169211796
판매가

42,000원

즉시할인가

37,800

배송비

무료배송

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

수량
+ -
총주문금액
37,800

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

출판사서평

자바로 여는 무한한 객체지향의 세계!
실무에서 제대로 활용하는 자바 프로그래밍 학습서

다음 세 가지 질문에 “예”라고 대답할 수 있다면, 이 책은 당신을 위한 것입니다!

V 실제 프로그래밍 경험이 있거나 관심이 있습니까?
V 자바를 재미있는 이야기와 다양한 실전 예제로 체험하며 배우고 싶습니까?
V 지루하고 학구적인 강의보다는 파티에서의 즐거운 대화를 선호하십니까?

『헤드 퍼스트 자바(3판)』는 무미건조하게 글로만 배우는 자바 학습서가 아니라 풍부한 시각 자료와 직접 대화하는 듯한 친절한 설명을 곁들인 두뇌 친화적인 자바 가이드입니다. 책에 실린 재미있는 예시와 이미지는 독자의 효과적인 학습을 돕습니다. 이 책을 읽고 나면 자바와 객체지향에 대해 완벽하게 이해하고, 실무에서 자바를 다양하게 활용할 수 있습니다. 전문가의 조언과 함께 각종 퍼즐과 다양한 퀴즈를 풀어 보며 뇌를 일깨우는 자바 학습을 경험해 보세요.

목차

Chapter 00 들어가며 | 이 책을 읽는 방법

__이 책의 독자
__이 책이 이렇게 된 이유
__이 책의 구성
__여러분의 두뇌를 정복하는 방법
__이 책을 읽는 데 필요한 것
__3판의 테크니컬 리뷰어
__3판을 위한 감사 인사
__개정판의 테크니컬 리뷰어
__개정판을 위한 감사 인사
__아직 감사의 글이 끝나지 않았습니다

Chapter 01 일단 간단하게 알아봅시다 | 껍데기를 깨다

__자바는 어떤 식으로 돌아갈까요?
__자바에서 실제로 수행하는 일
__아주 간략한 자바의 역사
__자바 코드의 구조
__main이 들어 있는 클래스 만들기
__간단한 불리언 테스트
__조건에 따른 분기문
__본격적인 실전용 애플리케이션 코딩하기
__자동 구문 생성기
__연습 문제
__정답과 해설

Chapter 02 클래스와 객체 | 객체 마을로의 여행

__의자 전쟁
__첫 번째 객체 만들기
__Movie 객체 만들어서 테스트하기
__빠르게 main에서 벗어나기
__숫자 맞히기 게임 실행하기
__연습 문제
__정답과 해설

Chapter 03 원시 변수와 레퍼런스 | 네 변수를 알라

__변수 선언하기
__“더블 모카로 주세요. 아, int로 합시다.”
__키워드를 조심하세요!
__Dog 객체를 제어하는 방법
__객체 레퍼런스는 단지 또 다른 변숫값에 불과합니다
__가비지 컬렉션 기능을 보유한 힙에서의 삶
__배열은 찬장의 컵과 같습니다
__Dog 예제
__연습 문제
__정답과 해설

Chapter 04 메서드는 인스턴스 변수를 사용합니다 | 객체의 행동 방식

__클래스는 객체가 아는 것과 객체가 하는 것을 기술합니다
__크기는 짖는 소리에 영향을 끼칩니다
__메서드에 특정 값을 전달할 수 있습니다
__메서드에서 특정 값을 리턴할 수도 있습니다
__메서드에 두 개 이상의 인자를 전달할 수도 있습니다
__매개변수와 리턴 타입 활용 방법
__캡슐화
__배열에 있는 객체는 어떤 식으로 행동할까요?
__인스턴스 변수 선언과 초기화
__원시 변수와 레퍼런스 변수 비교
__연습 문제
__정답과 해설

Chapter 05 프로그램 만들기 | 메서드를 더 강력하게

__〈스타트업 침몰시키기〉 게임 만들어 보기
__클래스 개발
__메서드를 구현해서 코드 작성하기
__SimpleStartup 클래스를 위한 테스트 코드 만들기
__checkYourself() 메서드
__SimpleStartupGame 클래스 준비 코드
__게임의 main() 메서드
__마지막 클래스: GameHelper
__for 반복문에 관하여
__향상된 for 반복문
__원시 타입 캐스팅
__연습 문제
__정답과 해설

Chapter 06 자바 API를 알아봅시다 | 자바 라이브러리 사용하기

__앞 장에서 버그를 남겨둔 채로 넘어왔습니다
__모두 잠에서 깨어나 라이브러리를 써 봅시다
__ArrayList로 할 수 있는 작업
__ArrayList와 일반 배열 비교
__진짜 〈스타트업 침몰시키기〉 게임 만들어 보기
__실제 StartupBust 클래스를 만들기 위한 준비 코드
__Startup 클래스의 최종 버전
__초강력 불리언 표현식
__라이브러리 사용하기(자바 API)
__코드 자석
__정답과 해설

Chapter 07 상속과 다형성 | 객체 마을에서의 더 나은 삶

__의자 전쟁 되돌아보기
__상속의 이해
__동물 시뮬레이션 프로그램의 상속 트리 설계하기
__상속을 더 많이 활용하는 방법 찾아보기
__‘A는 B다’와 ‘A에는 B가 있다’ 관계 활용하기
__상속 구조를 제대로 만들었는지 어떻게 알 수 있나요?
__상속을 활용해서 설계할 때 주의점
__계약 지키기: 오버라이드 규칙
__메서드 오버로딩
__연습 문제
__정답과 해설

Chapter 08 인터페이스와 추상 클래스 | 심각한 다형성

__이걸 설계할 때 뭔가 잊어버린 것은 없을까요?
__컴파일러는 추상 클래스의 인스턴스를 만드는 것을 허용하지 않습니다
__추상 vs. 구상
__추상 메서드는 모두 구현해야만 합니다
__다형성 활용하기
__어떤 것도 받아들일 수 있는 더 포괄적인 클래스를 만들면 어떨까요?
__개가 개처럼 행동하지 않으려고 할 때
__몇 가지 디자인 옵션 알아보기
__Pet 인터페이스 제작과 구현
__상위 클래스에 있는 버전의 메서드를 호출하는 방법
__연습 문제
__정답과 해설

Chapter 09 생성자와 가비지 컬렉션 | 객체의 삶과 죽음

__스택과 힙: 삶의 공간
__메서드는 스택에 차곡차곡 쌓입니다
__로컬 변수로 들어 있는 객체는 어떻게 되나요?
__기적과도 같은 객체 생성
__Duck 객체 만들기
__Duck을 쉽게 만들 수 있게 하는 방법
__인자가 없는 생성자는 컴파일러에서 항상 자동으로 만들어 주지 않나요?
__세부 리뷰: 생성자에 대해 반드시 알아야 할 네 가지
__객체의 일생에서 상위 클래스 생성자의 역할
__부모가 존재하기 전에 자식이 존재할 수 있을까요?
__레퍼런스 변수는요?
__연습 문제
__정답과 해설

Chapter 10 숫자와 정적 변수, 정적 메서드 | 숫자는 정말 중요합니다

__Math 메서드: 거의 전역 메서드입니다
__일반 메서드와 정적 메서드 사이의 차이점
__정적 변수 초기화
__Math 메서드
__원시 타입을 포장하는 방법
__거의 어디서든 쓸 수 있는 오토박싱
__반대로 원시 숫자를 String으로 변환하는 방법
__숫자 포매팅
__포맷 지시자
__연습 문제
__정답과 해설

Chapter 11 컬렉션과 제네릭 | 자료구조

__java.util API, 리스트와 컬렉션
__제네릭과 타입 안전성
__sort() 메서드 다시 보기
__업그레이드된 Song 클래스
__Comparator만 가지고 정렬하기
__람다를 가지고 주크박스 코드 고쳐 보기
__ArrayList 대신 HashSet을 써 볼까요?
__TreeSet에 관해 꼭 알아야 할 것들ㆍㆍㆍ
__List와 Set에 대해 배웠으니 이제 Map을 사용해 볼까요?
__드디어, 다시 제네릭으로
__연습 문제
__정답과 해설

Chapter 12 ‘어떻게’가 아니고 ‘무엇’을 | 람다와 스트림

__컴퓨터한테 우리가 무엇을 원하는지 알려 줍시다
__for 반복문이 잘못될 때
__스트림 API 소개
__스트림에서 결과 가져오기
__스트림 활용 가이드라인
__안녕, 나의 (별로 오래된 건 아니지만) 오랜 친구!
__함수형 인터페이스를 알아보는 법
__루 씨가 내준 숙제 #1: ‘록’ 음악 전부 찾아내기
__루 씨가 내준 숙제 #2: 모든 장르의 목록 구하기
__5분 미스터리
__정답과 해설

Chapter 13 예외 처리 | 위험한 행동

__음악 재생 프로그램 만들어 보기
__우선 Sequencer가 필요합니다
__예외도 객체입니다. Exception 타입의 객체지요
__try/catch 블록에서의 흐름 제어
__메서드에서 예외를 두 개 이상 던질 수도 있습니다
__catch 블록을 여러 개 사용할 때는 작은 것부터 큰 것으로 나열해야 합니다
__선언을 통해 회피하는 것은 불가피한 것을 잠시 미뤄 두는 것뿐입니다
__코드 키친
__버전 1: 첫 번째 사운드 애플리케이션 만들기
__버전 2: 명령행 인자를 써서 소리를 조절해 보기
__연습 문제
__정답과 해설

Chapter 14 GUI | 그래픽 이야기

__모든 것은 창에서 시작합니다
__사용자 이벤트를 받아들이는 방법
__리스너, 소스, 그리고 이벤트
__그림을 그리기 위한 위젯 만들어 보기
__paintComponent()로 할 수 있는 일
__프레임에 위젯을 두 개 이상 집어넣는 방법
__내부 클래스가 있습니다
__람다 구원 등판!
__내부 클래스를 써서 애니메이션 만들어 보기
__메시지/이벤트를 쉽게 만드는 방법
__연습 문제
__정답과 해설

Chapter 15 스윙 사용 방법 | 스윙을 알아봅시다

__스윙 구성요소
__레이아웃 관리자
__세 가지 대표적인 레이아웃 관리자
__스윙 구성요소 사용해 보기
__코드 키친
__비트박스 프로그램 만들기
__연습 문제
__정답과 해설

Chapter 16 직렬화와 파일 입출력 | 객체 저장

__직렬화된 객체를 파일에 저장하는 방법
__클래스를 직렬화할 수 있게 하려면 Serializable을 구현해야 합니다
__역직렬화: 객체 복구
__버전 ID: 직렬화를 할 때 주의할 부분
__String을 텍스트 파일에 저장하는 방법
__텍스트 파일을 읽는 방법
__QuizCardPlayer(코드 개요)
__Path, Paths, Files(디렉터리 처리)
__마지막으로, finally
__코드 키친
__비트박스 패턴을 저장하는 방법
__비트박스 패턴을 복구하는 방법
__연습 문제
__정답과 해설

Chapter 17 네트워킹과 스레드 | 연결하는 방법

__연결하기, 보내기, 받기
__DailyAdviceClient
__간단한 서버 애플리케이션 만들기
__자바에서는 스레드 여러 개를 사용할 수 있지만 Thread 클래스는 하나뿐입니다
__새로 만들어진 스레드의 세 가지 상태
__스레드를 대기 상태로 전환시키는 방법
__스레드를 두 개 이상 만들고 시작하는 방법
__스레드 풀 닫는 시간
__향상된 새 버전의 SimpleChatClient
__코드 자석
__정답과 해설
__코드 키친

Chapter 18 경쟁 상태와 불변 데이터 | 동시성 이슈 처리 방법

__코드로 만들어본 라이언과 모니카 문제
__객체의 자물쇠 사용법
__무시무시한 ‘갱신 손실’ 문제
__increment() 메서드를 원자적으로 바꿉니다. 동기화합니다!
__동기화의 치명적인 약점, 교착상태
__원자 변수를 이용한 CAS 연산
__불변 객체 사용법
__공유 데이터 관련된 또 다른 문제
__스레드 안전성을 갖춘 자료구조
__연습 문제
__정답과 해설

APPENDIX A 코드 키친 최종회

__마지막 비트박스 클라이언트 프로그램
__마지막 비트박스 서버 프로그램

APPENDIX B 거의 본문에 들어갈 뻔했던 내용, TOP 10

__#11 JShell (자바 REPL)
__#10 패키지
__#9 문자열과 래퍼의 불변성
__#8 접근 단계와 접근 변경자(누가 무엇을 볼 수 있는가)
__#7 가변인자
__#6 애너테이션
__#5 람다와 Map
__#4 병렬 스트림
__#3 열거형
__#2 로컬 변수 타입 추론(var)
__#1 레코드

찾아보기

교환 및 환불안내

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