장바구니 담기 close

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

자바 퍼즐러

자바 퍼즐러

  • 조슈아 블로크
  • |
  • 한빛미디어
  • |
  • 2014-12-04 출간
  • |
  • 340페이지
  • |
  • 153 X 223 X 10 mm /522g
  • |
  • ISBN 9788968481444
★★★★★ 평점(10/10) | 리뷰(1)
판매가

20,000원

즉시할인가

18,000

배송비

무료배송

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

수량
+ -
총주문금액
18,000

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

출판사서평

단언컨대 이 책은 세상에서 가장 재미있는 자바 책입니다. 왜냐하면, 숙련된 개발자마저 무릎을 탁 치게 하는 97가지 퍼즐로 자바를 배우기 때문입니다. 이 책이 담고 있는 퍼즐을 풀다 보면 자바 언어와 표준 라이브러리 곳곳에 도사리는 위험과 미묘한 함정들을 이해하고 피해갈 수 있게 됩니다. 물론 퍼즐은 우리가 언제든 겪을 수 있는 내용을 담고 있어 유용함을 굳이 강조할 필요가 없을 정도입니다.

※ 이 책의 자바 버전
이 책은 2005년 자바 5 시절에 집필되었습니다. 하지만 자바 8이 발표된 지금도 유효하고 자바를 더 잘 활용하고자 하는 개발자에게 여전히 유용하기에 복간하게 되었습니다. 자바 8에서 이 책의 모든 소스 코드의 동작을 확인했습니다. 따라서 이 책의 본문에서 사용한 ‘자바 5에서’라는 표현을 ‘자바에서’로 대체해 이해해도 좋습니다.

출판사 리뷰
컴퓨터로는 인간이 상상하는 이상적인 모델을 완벽하게 구현할 수 없습니다. 그래서 프로그래밍 언어 설계자들은 결단을 내려야 하는 순간이 오고, 어쩔 수 없는 그 선택 때문에 당연해 보이는 논리를 컴퓨터는 종종 엉뚱하게 해석하기도 합니다.
이 책은 이처럼 자바 언어에 내재된 근원적 오묘함에서 오는 위험과 함정을 퍼즐이라는 흥미 있는 형태로 풀어갑니다.

[ 상세 내용 ]
이 책은 자바 프로그래밍 언어와 핵심 라이브러리 관련 퍼즐로 구성되어 있습니다. 자바 관련 지식이 있는 독자라면 이 책의 퍼즐을 이해할 수 있을 것입니다. 물론 그중엔 상당한 수준의 자바 개발자도 풀기 어려운 퍼즐도 있습니다.

퍼즐 대부분은 A라는 일을 하는 듯 보이지만 B라는 일을 하는 프로그램입니다. 어떤 일을 하는지 알아내는 것이 독자가 해야 할 일입니다. 퍼즐을 풀 때는 다음과 같은 방식으로 접근하기 바랍니다.

1. 퍼즐의 프로그램을 살펴보고 고민해 보세요. 일단 컴퓨터로 돌려보지 말고, 어떤 결과를 출력할지 예측해 보세요. 함정이 보이지 않는다고 해도 시간을 두고 고민하기 바랍니다.
2. 프로그램이 무엇을 출력할지 예측했다면 실행해 보세요. 생각했던 대로 작동하나요? 그렇지 않다면 왜 그런지 설명할 수 있도록 고민해 보세요.
3. 프로그램이 잘못 작성되었다고 가정하고, 어떻게 고쳐야 할지 고민해 보세요.
4. 위 과정을 모두 진행했다면 해답을 읽으세요.

문제를 풀었다고 해도 해답은 읽기 바랍니다. 해답에는 프로그램이 어떻게 작동하는지를 넘어서 자세한 분석과 설명이 들어 있기 때문입니다. 또한, 퍼즐에서 추가로 발생할 수 있는 함정을 설명하고, 어떻게 이런 함정을 피할 수 있는지 설명합니다.

부록에는 자바 플랫폼의 함정을 정리했습니다. 즉. 책에 나오는 퍼즐을 분류해서 설명했습니다. 부록은 이 책의 퍼즐을 모두 풀기 전까지는 읽지 마세요. 부록을 먼저 읽어 버리면 퍼즐을 푸는 재미가 사라질 것입니다. 부록은 책을 모두 읽고 나서 참고 자료로 사용하세요!

추천평
“친절한 풀이는 당연하고, 중반 이후의 클래스에 관한 퍼즐을 통해 객체지향 프로그래밍 원칙까지 배울 수 있도록 배려하고 있습니다. 자바 책을 한 권이라도 읽어본 사람에게 그다음 책을 추천하라면 저는 자신 있게 『자바 퍼즐러』를 권하겠습니다.”
- 양수열, 자바 챔피언

“모든 프로그래밍 언어는 조금 이상한 부분을 가지고 있습니다. 이 책은 자바와 관련된 문
제를 살펴보며 자바의 이상한 점들에 대해 진지하게 생각할 기회를 줍니다.”
- 가이 스틸, 『Java Language Specification』 공동 저자

“모든 프로그래머는 프로그래밍 함정에 빠질 수 있다. 해결하는 데 몇 초가 걸리든 하루를 다 허비하든 마지막은 언제나 똑같다. ‘맞아! 이걸 생각 못 했네!’ 이 책을 열심히 읽고 나면 이러한 실수 대부분을 예방하고 빠르게 전진할 수 있게 된다.”
- 존 벤틀리, 『생각하는 프로그래밍』 저자

목차

1장. 소개

2장. 표현식 퍼즐
__1번째 퍼즐 - 홀수 확인
__2번째 퍼즐 - 변화를 위한 시간
__3번째 퍼즐 - Long 자료형 나눗셈
__4번째 퍼즐 - 초등학교 수준의 문제
__5번째 퍼즐 - 16진수의 즐거움
__6번째 퍼즐 - 다중 자료형 변환
__7번째 퍼즐 - 변수 교환
__8번째 퍼즐 - Dos Equis
__9번째 퍼즐 - 같은 것 같으면서도 다른 것(1)
__10번째 퍼즐 - 같은 것 같으면서도 다른 것(2)

3장. 문자 퍼즐
__11번째 퍼즐 - 최후의 웃음
__12번째 퍼즐 - ABC
__13번째 퍼즐 - 동물농장
__14번째 퍼즐 - 이스케이프 문자
__15번째 퍼즐 - 이상한 나라의 "Hello world"
__16번째 퍼즐 - 라인 출력기
__17번째 퍼즐 - 어라?
__18번째 퍼즐 - 스트링 치즈
__19번째 퍼즐 - 분류
__20번째 퍼즐 - 내 클래스 이름(1)
__21번째 퍼즐 - 내 클래스 이름(2)
__22번째 퍼즐 - URL 눈속임
__23번째 퍼즐 - No Pain, No Gain

4장. 반복문 퍼즐
__24번째 퍼즐 - 바이트의 즐거움
__25번째 퍼즐 - 비정상적인 증가
__26번째 퍼즐 - 반복문 안에서
__27번째 퍼즐 - 시프트 연산자와 변수 i
__28번째 퍼즐 - 반복문
__29번째 퍼즐 - 반복문의 신부
__30번째 퍼즐 - 반복문의 아들
__31번째 퍼즐 - 반복문의 유령
__32번째 퍼즐 - 반복문의 저주
__33번째 퍼즐 - 반복문의 악마
__34번째 퍼즐 - 큰 정수를 사용하는 반복문
__35번째 퍼즐 - 시계

5장. 예외 처리 퍼즐
__36번째 퍼즐 - 결정하기 힘든 프로그램
__37번째 퍼즐 - 이상한 예외
__38번째 퍼즐 - 초대받지 않은 손님
__39번째 퍼즐 - 안녕, 그리고 잘 가
__40번째 퍼즐 - 주저하는 생성자
__41번째 퍼즐 - 스트림
__42번째 퍼즐 - 어이없다
__43번째 퍼즐 - 위험한 예외
__44번째 퍼즐 - 클래스 분할
__45번째 퍼즐 - 피곤한 일

6장. 클래스 퍼즐
__46번째 퍼즐 - 애매한 생성자
__47번째 퍼즐 - 착한 나의 강아지와 고양이!
__48번째 퍼즐 - 정적 메서드
__49번째 퍼즐 - 점점 늘어나는 허리 사이즈
__50번째 퍼즐 - 우리는 같은 자료형이 아니야
__51번째 퍼즐 - 포인트가 뭐야?
__52번째 퍼즐 - 재미있는 덧셈
__53번째 퍼즐 - 내가 해야 할 일
__54번째 퍼즐 - Null과 Void
__55번째 퍼즐 - 천지창조

7장. 라이브러리 퍼즐
__56번째 퍼즐 - 큰 문제
__57번째 퍼즐 - 이름이 뭐예요?
__58번째 퍼즐 - 해시 문제
__59번째 퍼즐 - 무엇이 다를까?
__60번째 퍼즐 - 한 줄 문제
__61번째 퍼즐 - 일정 잡기
__62번째 퍼즐 - 이름 게임
__63번째 퍼즐 - 이전과 비슷한 문제
__64번째 퍼즐 - 나머지를 사용한 분류
__65번째 퍼즐 - 이상한 정렬

8장. 클래스 심화 퍼즐
__66번째 퍼즐 - private 접근 제한자 문제
__67번째 퍼즐 - 문자열이 아파요
__68번째 퍼즐 - 회색의 그림자
__69번째 퍼즐 - 검은 그림자
__70번째 퍼즐 - 패키지 문제
__71번째 퍼즐 - 임포트의 의무
__72번째 퍼즐 - final 키워드의 위기
__73번째 퍼즐 - 너의 비밀스러운 것들이 보이고 있어
__74번째 퍼즐 - 정체성 위기
__75번째 퍼즐 - 머리와 꼬리
__[용어정리] 이름 재사용과 관련된 기술

9장. 추가적인 라이브러리 퍼즐
__76번째 퍼즐 - 핑퐁
__77번째 퍼즐 - 락을 무너뜨리는 괴물
__78번째 퍼즐 - 리플렉션 주의 사항
__79번째 퍼즐 - 강아지의 삶
__80번째 퍼즐 - 추가적인 리플렉션
__81번째 퍼즐 - 돌아가는 "Hello world"
__82번째 퍼즐 - 비어 블라스트
__83번째 퍼즐 - 유일하지 않은 강아지
__84번째 퍼즐 - 강제 중단
__85번째 퍼즐 - 게으른 초기화

10장. 어려운 퍼즐
__86번째 퍼즐 - 괄호의 함정
__87번째 퍼즐 - 긴장된 관계
__88번째 퍼즐 - 원시 타입
__89번째 퍼즐 - 제네릭
__90번째 퍼즐 - 힘차고 강한 슈퍼클래스인데 왜 안 되지?
__91번째 퍼즐 - 직렬화
__92번째 퍼즐 - 제정신이 아닌 클래스
__93번째 퍼즐 - 클래스 전쟁
__94번째 퍼즐 - 셔플 실패
__95번째 퍼즐 - 후식

부록. 함정 정리

저자소개

저자 조슈아 블로크는 ‘자바의 어머니’로 불릴 만큼 자바 언어에 지대한 영향을 준 저명한 소프트웨어 엔지니어다. 대표적으로 컬렉션 프레임워크, java.math 패키지, assert 메커니즘을 설계하였고, 자바 7의 자동 자원 관리(ARM)도 그의 손을 거쳤다. 구글에서는 자바 인프라, 안드로이드, Dart 프로젝트에 참여했다. 졸트상 수상작인 『이펙티브 자바 2판』의 저자이며, 『자바 병렬 프로그래밍』의 공동 저자이다.

도서소개

[자바 퍼즐러]는 자바 프로그래밍 언어와 핵심 라이브러리 관련 퍼즐로 구성된 책으로, 자바 언어에 내재된 근원적 오묘함에서 오는 위험과 함정을 퍼즐이라는 흥미 있는 형태로 풀어나간다.

상세이미지

자바 퍼즐러 도서 상세이미지

교환 및 환불안내

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