이 상품은 구매 후 지원 기기에서 예스24 eBook앱 설치 후 바로 이용 가능한 상품입니다.
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 레코드찾아보기
|
저트리샤 지
관심작가 알림신청Trisha Gee
저캐시 시에라
관심작가 알림신청Kathy Sierra
저버트 베이츠
관심작가 알림신청Bert Bates
역서환수
관심작가 알림신청서환수의 다른 상품
자바로 여는 무한한 객체지향의 세계!실무에서 제대로 활용하는 자바 프로그래밍 학습서다음 세 가지 질문에 “예”라고 대답할 수 있다면, 이 책은 당신을 위한 것입니다!- 실제 프로그래밍 경험이 있거나 관심이 있습니까?- 자바를 재미있는 이야기와 다양한 실전 예제로 체험하며 배우고 싶습니까?- 지루하고 학구적인 강의보다는 파티에서의 즐거운 대화를 선호하십니까?『헤드 퍼스트 자바(3판)』는 무미건조하게 글로만 배우는 자바 학습서가 아니라 풍부한 시각 자료와 직접 대화하는 듯한 친절한 설명을 곁들인 두뇌 친화적인 자바 가이드입니다. 책에 실린 재미있는 예시와 이미지는 독자의 효과적인 학습을 돕습니다. 이 책을 읽고 나면 자바와 객체지향에 대해 완벽하게 이해하고, 실무에서 자바를 다양하게 활용할 수 있습니다. 전문가의 조언과 함께 각종 퍼즐과 다양한 퀴즈를 풀어 보며 뇌를 일깨우는 자바 학습을 경험해 보세요.예제 파일 다운로드→ www.hanbit.co.kr/src/11179→ https://oreil.ly/hfJava_3e_examples
|