메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

Head First Java :  뇌 회로를 자극하는 자바 학습법

Head First Java : 뇌 회로를 자극하는 자바 학습법

한빛미디어

번역서

절판

  • 저자 : 케이시 시에라(Kathy Sierra) , 버트 베이츠(Bert Bates)
  • 번역 : 서환수
  • 출간 : 2004-01-28
  • 페이지 : 656 쪽
  • ISBN : 8979142617
  • 물류코드 :1261
  • 초급 초중급 중급 중고급 고급
4.5점 (11명)
좋아요 : 19

재미 두배! 실력 두배!
학습 방법의 패러다임을 100% 바꿨다.

이 책을 처음 보는 독자들이 어떤 반응을 할지 벌써부터 감이 잡힙니다. 메모리 관리에 대한 내용을 설명하는 데 왜 오리가 등장할까? 욕조 안에 들어가 있는 아가씨가 다형성을 설명하는 데 무슨 도움이 되지? 진짜야?

이 책을 보려면 일단 마음을 열고 시작하세요. 이 책에서는 퍼즐, 다양한 그림, 미스터리, 유명한 자바 객체와의 인터뷰 등 여러 가지 방법으로 독자들을 끌어들입니다. 빠르게 읽을 수 있고 재미있고 효과적입니다. 다양한 방법으로 배울수록 더 잘 기억할 수 있고 배운 것을 실전에서 더 잘 써먹을 수 있습니다. 언뜻 보기에는 장난스럽게 생겼지만 사실 상당히 심각한 내용이 들어있는 책입니다. 객체지향 프로그래밍과 자바를 완벽하게 소개하고 있으니까요. 기초적인 내용에서 시작해서 스레드, 네트워크 소켓, RMI를 이용한 분산 프로그래밍에 이르는 고급 주제까지 배울 수 있습니다. 더 중요한 것은 객체지향 개발자들이 갖춰야 하는 생각하는 방법을 배울 수 있다는 것입니다. 단순하게 책을 읽고 퍼즐을 풀기만 하는 것이 전부가 아닙니다. 닷컴 가라앉히기 게임, 퀴즈 게임, 네트워크 음악 채팅 시스템, 범용 서비스 브라우저를 비롯한 다양한 ‘진짜’ 자바 코드를 만들어볼 것입니다. 지루하고 따분하게 공부하고 싶다면 다른 책을 보세요(어떤 책인지 말씀드리고 싶지만 괜히 싸움이 날까 두려워 그렇게는 차마 못하겠군요). 하지만 정말 자바를 배우고 싶다면, 좋은 직장을 구하고 싶다면, 그러면서도 사회 생활을 향상시키고 싶다면 이 책을 읽어보세요.

[추천평/미디어서평]

"조금 장난스럽기도 하고 빠르게 읽을 수 있고 재미있고 매력적입니다. 읽다 보면 정말 뭔가를 배울 수 있습니다."
- 켄 아놀드(Ken Arnold),『The Java Programming Language』저자(자바 개발자인 제임스 고슬링(James Gosling)과 공저)

"자바를 전혀 모르는 독자들도 자바 전사 수준으로 끌어올릴 수 있는, 사람을 끌어들이는 매력적인 스타일을 갖춘 데다가 다른 자바 서적에서는 ‘독자들을 위한 연습문제’로 떠넘기는 실질적인 문제도 엄청나게 많이 다루고 있습니다."
- 댄 러셀(Dan Russell) 박사, IBM 알마덴 연구소, 사용자 과학 및 경험 연구 총감독

"너무 좋아서 눈물이 나올 것 같습니다. 정말 믿기 힘듭니다. 이런 책은 처음이에요."
- 플로이드 존스(Floyd Jones), BEA 시스템즈

[부/장별 내용요약]
서문 자바에 대해 생각해봅시다. 지금 독자 여러분은 뭔가를 배우려 하고 있습니다. 하지만 여러분의 두뇌를 배우는 일에만 집중시키는 것이 쉽지가 않습니다. "밖으로 나가면 어떤 들짐승을 주의해야 할지, 실오라기 하나 걸치지 않고 스노우보드를 타는 것이 왜 안 좋은지 등을 알아보는 것이 더 낫지 않을까?"하는 생각을 하고 있을 수도 있습니다. 그러면 두뇌로 하여금 자바를 배우는 것이 살아가는 데 매우 중요한 일이라는 생각이 들도록 하려면 어떻게 해야 할까요?

1 껍질을 깨고 자바가 여러분을 새로운 장소로 인도합니다. 1.02 버전이 처음 공개된 이후로 자바는 친숙한 문법, 객체지향적인 기능, 메모리 관리, 그리고 무엇보다도 이식성에 대한 약속을 가지고 많은 프로그래머들을 유혹했습니다. 1장에서는 자바에 대해 간단하게 알아보고 몇 가지 코드를 직접 만들어서 컴파일하여 실행해봅시다. 문법, 순환문, 분기문, 그리고 자바가 왜 훌륭한지에 대해 간략하게 살펴볼 예정입니다. 일단 한 번 뛰어들어보지요.

2 객체마을로의 여행 객체가 있다는 얘기를 들었던 것 같지요? 1장에서는 코드를 전부 main() 메소드에 집어넣었지요. 그 방법은 정확하게 말하자면 객체지향적인 방법은 아닙니다. 이제 절차적인 프로그래밍의 세계는 완전히 제쳐두고 main()을 벗어나서 직접 객체를 만들어보기로 합시다. 자바에서 객체지향적인(OO; object-oriented) 개발이 얼마나 재미있는지를 확인할 수 있을 것입니다. 그리고 클래스와 객체의 차이점도 알아보고 객체가 어떻게 여러분의 삶의 질을 향상시켜줄 수 있는지도 배울 수 있습니다.

3 네 변수를 알라 변수는 크게 원시 변수와 레퍼런스, 이렇게 두 가지로 나눌 수 있습니다. 살아가는 데는 정수, 문자열, 배열 외에도 다양한 것이 필요합니다. Dog라는 인스턴스 변수가 들어있는 PetOwner라는 객체가 필요하다면 어떻게 해야 할까요? 아니면 Engine이라는 인스턴스 변수가 들어있는 Car라는 객체가 필요하다면? 이 장에서는 자바에서의 형식(type)의 비밀을 벗겨보고 어떤 것을 변수로 선언(declare)할 수 있는지, 어떤 것을 변수에 넣을 수 있는지, 변수로 무엇을 할 수 있는지 알아볼 것입니다. 그리고 실제 인생과 가비지 컬렉션 기능이 있는 힙의 유사성에 대해서도 알아보도록 하겠습니다.

4 객체의 행동 상태는 행동에 영향을 끼치고 행동은 상태에 영향을 끼칩니다. 객체에는 각각 인스턴스 변수와 메소드로 표현되는 상태와 행동이 있습니다. 여기에서는 상태와 속성이 어떻게 연관되는지에 대해 알아봅니다. 객체의 속성에서는 객체의 유일한 상태를 사용합니다. 바꿔 말하자면 메소드에서는 인스턴스 변수의 값을 사용합니다. ‘개의 체중이 7kg을 넘어가면 이상한 소리를 낸다. 그렇지 않으면...’과 같은 식으로 말이죠. 직접 어떤 상태를 바꿔봅시다.

5 메소드를 더 강력하게: 흐름 제어, 연산 등 메소드에 근육을 좀 붙여줍시다. 지금까지는 변수를 가지고 장난 좀 쳐보고 몇 가지 객체와 간단한 코드를 조금 만들어봤습니다. 하지만 연산자나 순환문 같은 더 강력한 도구가 필요합니다. 이런 도구는 난수를 만들 때도 유용합니다. 그리고 String을 int로 바꿀 수 있다면 참 좋겠지요? 그리고 뭔가 실질적인 것을 만들어보면서 프로그램을 밑바닥부터 만드는 방법, 그리고 테스트하는 방법에 대해 알아보도록 합시다. 닷 컴 가라앉히기라는 게임을 한 번 직접 만들어보도록 하지요.

6 자바 라이브러리 자바에는 수백 개의 클래스가 내장되어있습니다. 자바 API라고 부르는 자바 라이브러리에서 필요한 것을 찾는 방법만 안다면 굳이 모든 것을 새로 만들지 않아도 됩니다. 여러분은 다른 더 중요한 것을 만들어야 합니다. 코드를 작성할 때도 자신의 애플리케이션에서만 사용할 부분만 새로 만들면 됩니다. 핵심 자바 라이브러리는 클래스를 잔뜩 쌓아놓은 것과 마찬가지입니다. 레고 블록을 쌓듯이 필요한 것을 골라서 적당히 조립해서 쓰면 됩니다.

7 객체마을에서의 더 나은 삶 프로그램을 계획할 때는 미래를 생각해보세요. 다른 누군가가 쉽게 확장할 수 있는 코드를 만들 수 있다면 어떨까요? 그리고 귀찮게 마감 직전에 스펙을 변경하는 짜증나는 상황에 대비해서 유연한 코드를 만들 수 있다면 좋지 않을까요? 다형성을 활용하기 시작하면 더 나은 클래스 설계를 위한 다섯 가지 단계, 다형성을 사용하는 데 도움이 되는 세 가지 트릭, 유연한 코드를 만들기 위한 여덟 가지 방법, 그리고 상속을 배울 수 있는 네 가지 추가 수업을 받을 수 있답니다.

8 심각한 다형성 상속은 시작에 불과합니다. 다형성을 제대로 활용하려면 인터페이스가 필요합니다. 이제 간단한 상속을 뛰어넘어 인터페이스 규격을 설계하고 코딩하는 것을 통해서만 얻을 수 있는 융통성과 확장성으로 건너가야 합니다. 인터페이스란 무엇일까요? 인터페이스는 100% 추상 클래스입니다. 추상 클래스란 무엇일까요? 그 인스턴스를 만들 수 없는 것을 추상 클래스라고 합니다. 근데 이런 추상 클래스를 어디에 써먹을 수 있을까요? 8장으로 건너가서 직접 한 번 읽어보면 궁금증이 해결될 것입니다.

9 객체의 삶과 죽음 객체는 태어나고, 객체는 죽습니다. 객체의 라이프사이클은 여러분이 책임져야 합니다. 언제, 언제, 그리고 어떻게 객체를 생성할지는 여러분이 결정합니다. 버리는 시기도 여러분이 결정합니다. 가비지 컬렉터(gc, Garbage Collector)는 사용이 끝난 객체의 메모리를 다시 찾아갑니다. 여기에서는 어떻게 객체가 만들어지는지, 그런 객체가 어디에서 사는지, 그리고 그러한 객체를 효율적으로 보관하거나 버리는 방법을 알아봅시다. 즉 힙, 스택, 영역, 생성자, 수퍼클래스 생성자, 널 레퍼런스 등에 대해 알아볼 것입니다.

10 숫자 계산을 해 봅시다. 자바 API에는 절대값, 반올림한 값, 최대, 최소값 등을 구하는 메소드가 들어있습니다. 포매팅은 어떻게 해야 할까요? 숫자를 출력할 때 달러 기호를 추가하거나 소수점을 붙여서 출력해야 하는 경우가 종종 있습니다. 날짜를 출력할 때도 영국식 날짜 표기법을 사용해야 하는 경우가 있습니다. String을 숫자로 파싱할 때는 어떻게 해야 할까요? 아니면 숫자를 String으로 바꾸려면 어떻게 해야 할까요? 우선 정적인 변수와 정적인 메소드에 대해 알아보고 자바에서의 상수인 static final 변수를 알아보는 것부터 시작해봅시다.

11 위험한 행동 종종 예상치 못한 일이 일어나곤 합니다. 있는 줄 알았던 파일이 없거나 서버가 다운되는 경우도 흔히 있습니다. 아무리 뛰어난 프로그래머라도 모든 것을 마음대로 제어할 수는 없습니다. 위험한 메소드를 사용할 때는 안 좋은 일이 일어났을 때 그 문제를 처리하기 위한 코드가 있어야 합니다. 하지만 메소드가 위험한지 어떻게 알 수 있을까요? 예외적인 상황을 처리하기 위한 코드는 어디에 넣어야 할까요? 이 장에서는 위험 요소가 있는 JavaSound API를 사용하는 MIDI 음악 재생용 프로그램을 만들어야 하므로 이런 예외적인 상황을 처리하는 방법을 알아보기로 합시다.

12 그래픽 이야기 현실을 직시합시다. 평생 서버에서 돌리는 프로그램만 만들고 살 작정이라고 하더라도 언젠가는 GUI가 들어가는 툴을 만들어야 할 때가 닥칠지도 모릅니다. 이 책에서는 두 장에 걸쳐서 GUI에 대해 알아볼 것입니다. 그리고 이벤트 처리 및 내부 클래스와 같은 자바의 또 다른 기능에 대해서도 알아볼 것입니다. 화면에 버튼을 만들고 화면에 색을 칠하고 jpeg 이미지를 표시하고 간단한 애니메이션도 만들어봅시다.

13 스윙을 알아봅시다 스윙은 쉽습니다. 모든 요소가 어디에 있어야 하는지를 중요하게 여기지 않는다면 그렇습니다. 스윙 코드는 쉬워 보이지만 컴파일한 다음 실행해보면 "어, 이게 아닌데?"하는 생각이 들지도 모릅니다. 이렇게 코딩하기 쉽다는 것은 거꾸로 제어하기가 힘들다는 것을 의미합니다. 하지만 조금만 노력하면 레이아웃 관리자도 자유자재로 제어할 수 있을 것입니다. 이 장에서는 스윙에 대해 알아보고 위젯에 대해 조금 더 자세하게 알아보도록 합시다.

14 객체 저장 객체는 납작하게 압축할 수도 있고 빵빵하게 부풀릴 수도 있습니다. 객체에는 상태와 속성이 있습니다. 속성은 클래스에 들어있지만 상태는 각 객체마다 들어갑니다. 프로그램에서 상태를 저장해야 한다면 각 객체를 확인하면서 각 인스턴스 변수의 값을 일일히 기록하는 힘든 방법을 쓸 수도 있습니다. 하지만 매우 편리한 객체지향적인 방법을 사용할 수도 있습니다. 그 객체를 동결건조한 다음 (직렬화한 다음) 나중에 필요할 때는 재구성(역직렬화)하면 됩니다.

15 연결하는 방법 외부 세계와 연결해봅시다. 별로 어렵지도 않습니다. 저수준 네트워킹과 관련된 자잘한 내용은 java.net 라이브러리에 들어있는 클래스에서 알아서 처리해줍니다. 자바의 가장 큰 장점 가운데 하나는 네트워크를 통해서 데이터를 주고받는 것이 사슬 끝에 조금 다른 연결 스트림이 있다는 것을 제외하면 일반적인 입출력과 전혀 다르지 않다는 점입니다. 이 장에서는 클라이언트 소켓과 서버 소켓을 만들어봅시다. 그리고 이 장이 끝날 무렵이면 완벽하게 작동하는 멀티스레드 기능을 갖춘 채팅 클라이언트를 완성할 것입니다. 오, 멀티스레딩까지 배우는군요.

16 코드를 배포합시다 이제 코드를 배포할 때가 되었습니다. 지금까지 코드를 만들었습니다. 그리고 코드를 테스트했습니다. 그리고 코드를 다시 다듬었습니다. 이제 뭔가 그럴듯한 프로그램을 만들어서 제대로 작동하는 것까지 확인했는데, 이제 어떻게 해야 할까요? 이제 자신이 만든 자바 코드를 조직화하고 패키지로 묶고 배포하는 방법에 대해 알아볼 때가 되었군요. 실행 가능한 JAR 파일, 자바 웹 스타트, RMI, 서블릿과 같은 것을 포함한 로컬, 세키로컬, 원격 실행 옵션을 살펴봅시다. 생소한 것이 나왔다고 해서 긴장할 필요는 없답니다. 생각보다 쉽게 사용할 수 있으니까요.

17 분산 컴퓨팅 멀리 떨어져 있는 것이 반드시 나쁜 것은 아닙니다. 물론 애플리케이션 전체가 한 장소에서, 같은 힙에서 하나의 JVM을 통해 실행되면 일이 상당히 쉬워지긴 합니다. 하지만 언제나 그럴 수는 없죠. 그리고 항상 그 방법이 좋다고 할 수도 없습니다. 애플리케이션에서 복잡한 계산을 해야 한다면 어떻게 해야 할까요? 애플리케이션에서 안전한 데이터베이스로부터 데이터를 받아야 한다면 어떻게 해야 할까요? 이 장에서는 매우 쉬운 자바의 원격 메소드 호출(RMI; Remote Method Invocation) 사용 방법을 배울 것입니다. 또한 서블릿, 엔터프라이즈 자바 빈즈(EJB), 지니 등에 대해서도 간략하게 알아보겠습니다.

부록 A 마지막 코드 키친 프로젝트. 클라이언트 서버 구조의 비트 박스 코드를 수록했습니다. 모두들 락 스타가 되어봅시다.

부록 B 거의 책에 들어갈 뻔했던 내용 Top 10. 아직은 독자 여러분을 험한 세상으로 바로 보낼 수가 없네요. 몇 가지 내용을 더 알려드려야겠습니다. 하지만 이번엔 정말 끝입니다.

찾아보기
케이시 시에라 저자

케이시 시에라

케이시는 게임 설계를 하던 시절(Virgin, MGM, Amblin" 등에서 게임을 제작했습니다)부터 학습 이론에 관심이 있었습니다. UCLA 평생교육원의 엔터테인먼트 연구 프로그램에서 뉴 미디어 제작 강의를 하는 동안에 헤드 퍼스트 포맷의 상당 부분을 개발했습니다. 최근에는 썬 마이크로시스템즈에서 썬의 자바 강사들에게 자바 최신 기술을 가르치는 방법을 가르치는 수석 강사로도 활동하고 있습니다. 그녀는 버트 베이츠와 함께 이 책에 있는 개념을 적극적으로 활용하여 수백여 명의 강사, 개발자, 심지어는 프로그래머가 아닌 일반인들에게도 강의를 하고 있습니다. 그리고 「소프트웨어 디벨로프먼트(Software Development)」의 2003년 생산성 대상을 수상하기도 한 전세계에서 가장 큰 자바 커뮤니티 웹사이트 가운데 하나인 javaranch.com의 공동 설립자이기도 합니다. 자바 잼 긱 크루즈(Java Jam Geek Cruise, geekcruises.com) 사이트에 가면 그녀가 강의하는 자바 클래스 강의를 볼 수 있습니다.
버트 베이츠 저자

버트 베이츠

버트는 소프트웨어 개발자와 설계자로 활동하고 있지만 십여년 전부터 인공 지능에 관심을 두고 있었기 때문에 학습 이론과 학습 기술을 바탕으로 한 교육 및 훈련에 대해 지대한 관심이 있습니다. 그는 아주 오래 전부터 고객들에게 프로그래밍을 가르치고 있습니다. 최근에는 몇 가지 자바 자격증 시험의 개발팀에서 일하기도 했습니다.
서환수 역자

서환수

서울대학교 물리학과에서 학사, 박사 학위를 받았고 지금은 삼성종합기술원에서 물리학을 연구하고 있다. 한빛미디어에서 『Head First Java』, 『Programming Challenges: 알고리즘 트레이닝 북』, 『프로그래머로 사는 법』, 『슬라이드올로지』를 비롯한 여러 권의 책을 번역했다.

1 껍질을 깨고: 간단한 소개

2 객체마을로의 여행: 객체에 대해 알아봅시다.

3 네 변수를 알라: 원시 변수와 레퍼런스

4 객체의 행동: 객체의 상태가 메소드의 속성에 미치는 영향

5 메소드를 더 강력하게: 흐름 제어, 연산 등

6 자바 라이브러리: 전부 다 직접 만들어서 쓸 필요는 없습니다

7 객체마을에서의 더 나은 삶: 미래를 준비합시다

8 심각한 다형성: 추상 클래스와 인터페이스

9 객체의 삶과 죽음: 생성자와 메모리 관리

10 숫자는 정말 중요합니다: 수학, 포매팅, 래퍼, 통계

11 위험한 행동: 예외 처리

12 그래픽 이야기: GUI, 이벤트 처리, 내부 클래스에 대한 소개

13 스윙을 알아봅시다: 레이아웃 관리 및 구성요소

14 객체 저장: 직렬화와 입출력

15 연결하는 방법: 네트워크 소켓과 멀티쓰레딩

16 코드를 배포합시다: 패키지 제작 및 배포

17 분산 컴퓨팅: RMI와 서블릿, EJB와 지니

A 부록 A: 마지막 코드 키친

B 부록 B: 거의 책에 들어갈 뻔 했던 내용 Top 10

찾아보기

좋긴한데 다른 해퍼 시리즈 보다 더 졸리다.
다 보느라 죽는줄 알았음.

제가 이 책을 살 당시, 자바가 뭔지 그 구성이 어떻게 되는지 조금 알고 있었고, 좀더 자바의 체계를 잡고 싶고, 넓은 범위의 자바를 공부하려고 할 때였습니다. 이 책은 저 같은 사람에게는 적합한 책입니다. 이 책의 좋은 점은 지루하지 않게 빨리 볼 수 있다는 점입니다. 이해하기 싶게, 주로 자바에서 사용되는 개념 위주로 설명하고 있습니다. 책 전체적으로 조직적으로 잘 만들어 졌다는 생각이 들었습니다.

하지만 주로 자바에서 사용되는 개념위주로 설명하고, 자세한 부분에서는 많이 부족하다는 생각이 듭니다. 그러므로 자바의 완전 초보가 보기에는 좀 어려울 것 같습니다.

제가 생각하기로는 개념잡기에는 매우 훌륭하다고 생각합니다.

그러나 바이블로 갖고있기엔 조금 부족하구요.

이 책을 확실히 이해하신 후 더 깊은 설명이 있는 교재를 또 공부하시는것이 좋을듯 합니다.



우선 이 책은 재미있습니다.

저자가 장난기 가득한 구성으로 객체지향과 관련한 어려운 내용도 쉽게 이해할 수 있도록 유도해주며,

쉬운 내용도 놓치지 않고 있는 책이라 생각됩니다.

학문적 내용들을 학문적으로 설명하려 애쓰는 졸린 책이 아니라,

"재미"라는 요소를 녹여넣은 설명으로 지루함을 극복한 책입니다.

책에서 사용되는 예제들의 경우도 독자의 기를 죽이는 긴 코드 대신 핵심적인 내용을 전달하는 분량으로 짧게,

나머지는 독자의 이해를 바탕으로 따라갈 수 있도록 한 짧지만 핵심이라 할 내용들로 구성되어

철저히 이해하고 다음으로 넘어가는 흐름을 제공하는 방식입니다.



요새는 EJB 기반의 게시판, 쇼핑몰 등의 풀 소스를 담고있는 책들도 흔히 접할 수 있습니다.

이런 책들의 특징이 읽고 있는 동안은 마치 책에서 다룬 내용이 곧 나의 실력이 될 듯하지만 읽고 나서

나만의 무언가를 하고자 할 때는 저자의 자기자랑 이상은 되어주지 못하는 책들이 대부분이다.

그런 월척 물고기를 전달하는 듯 하면서 자랑만 하는 책들과 비교해볼때,

이 책은 읽는 동안에는 한조각 한조각 지식이 쌓이지만,

읽고나면 그 조각들을 짜맞추어 실력을 쌓을 수 있는 물고기를 낚는법을 전달해주는 책이라 이야기 할 수 있을 것입니다.



구성면에서 볼때, 그림이 엄청많다.

예전의 꼬리에 꼬리를 무는 영어 시리즈랑 비슷하다.

그림을 통해 이해를 돕고, 전달하고자 하는 내용이 머릿속에 쏙쏙 들어오도록 구성한것은 다른 어떤 입문서보다 자세하다.

매 장(Chapter)마다 개념의 이해 정도를 돕는 연습문제 등은 단계적으로 구성되어 있어서

문제를 푸는 것만으로도 그 장의 내용을 정리하는데 충분하다.

기존의 다른 프로그래밍 언어와 다른 구성과 진행 방식으로 다소 당황스러울 수도 있고,

특히 빠른 시간에 자바를 배우려는 욕심을 가지신 분에게는 짜증스러울 수도 있겠지만,

제대로 배우겠다는 생각을 가지고 접근한다면, 그리 짜증스럽지 않게 자바를 익히는데 큰 지장은 없을 것이라 본다.

단순 자바 문법을 열거한 식의 책은 절대 아니며,

객체지향의 개념과 자바에서의 구현 등을 아주 많은 지면을 통해 이해시키려 애쓰고 있으며,

이러한 개념의 이해는 다른 객체 지향 언어를 익히는데도 상당히 큰 도움을 줄 것이라 생각됩니다.

다만, 포인터라든지... 하는 용어를 다른 설명없이 사용하는 것을 보면

전산학 개론이나 다른 언어를 조금은 해 본 정도의 수준은 요구하는 것 같습니다.



엄청난 분량의 사진, 그림들이 책을 채우고 있다.

미국인의 시각으로 이런 사진들과 그림들을 접할 때는 어떤 느낌을 가질지 모르겠지만 어지럽다는 느낌을 주는 부분들도 적지않다.

다만, 분명 "비주얼"한 구성이기는 한데 "미국적 비주얼"이라고 이야기 하는 것이 더 적합할 것 같습니다.



결론적으로 이 책은,

자바 입문서로는 더없이 훌륭한 책이라 생각됩니다.

이 책은 원하는 분야-서버, 네트워크, 애플릿 등등...-의 책을 보는데 귀중한 밑천이 될 것이라 생각됩니다.

구성이나 내용면에서 초보자분이나 중급자로 넘어가는 분들께 적극 추천합니다.

컴퓨터 공학을 전공하고, 업무 때문에 몇년간 손을 땐 자바를 다시 공부하려고

아는 사람의 권유로 이책을 접하게 되었는데, 책을 받아본 순간 그림이 많아서

금방 지루해 지진 않겠구나 하고 생각했습니다.



지금 약 200 페이지를 넘어갔는데요, 2001년도에 자바 공부할 때

몰랐던 것, 그리고 정확하게 개념이 잡혀 있지 않던 것들이 확실하게

정립되는 것 같아 좋았습니다.



아직 1/3 정도 밖에 보지 않아서 뒷 부분이 어떨지는 모르지만,

지금까지 공부한 바로는 대 만족입니다.



물론, 책의 서술 내용이 기존의 방식과는 다르게 편집되어 이贊求?하실 분도

있을지 모르겠으나, 저에게는 이렇게 자바가 쉽게 와닿은 적은 없었던 듯 합니다.

(물론, 여태까지 자바며 객체지향 개념을 대학교에서 배웠기 때문에 쉽게 이해가 간걸 지도 모르죠 ^^)



아무튼, 초보자 분들과, 자바 공부하다 개념이 확실하게 서지 않아 자바에게서 등을 돌리셨던

기존(절차적) 프로그래머 분들에게 추천합니다.



쉽고, 재미있고, 그래서 무엇보다 빠르게 자바 개념을 확립할 수 있는 책이라고 생각합니다.



발췌: 강컴서평중 - 고승현님

예전에 그런 책이 있었지요. 꼬리에 꼬리를 무는 영어라는 조금은 괴상해보이는 책이 인기를 끌었던 기억이 있습니다. 그 책은 내용도 내용이지만 독특한 편집과 내용전개가 인상적이었던 책이었지요. 아마 디자인하우스에서 나왔던 것으로 기억이 납니다.



그 책을 보신 분이라면 이 책이 어떻게 편집되었는지 쉽게 떠올릴수 있습니다. 편집이나 소스코드에 수기로 적어넣은듯한 해설 부분, 군데군데 들어가 있는 삽화에 재미있는 퍼즐퀴즈까지 보통 서적에는 없는 특별한 구성요소들이 가득한 책입니다. 그래서 우선 이책을 보게 되면 눈이 즐거워지고 지루하지 않습니다.



어떤 것을 새로 배운다는 것에 있어서 편한 마음으로 접근한다는 것은 큰 이익이 있다고 생각됩니다. 이를테면 teach youeself 와 같은 책도 구성이 잘되어 있고 내용정리가 완벽에 가깝지만, 조금 딱딱한 느낌이거든요. 그 책을 잡으면 왠지 긴장해서 집중해야 할 것 같고, 머리 회전이 경직되는 듯한 느낌을 가지게 됩니다.



이 책 Head First Java 는 머리를 부드럽게 풀어주는 것부터 신경씁니다. 그래서 제목이 참 적당하게 지어졌다는 생각을 했습니다. 전 이제 두개의 장을 보았기에 내용에 있어서 모든 것을 판단하기는 어려울 것 같습니다. 다만, 지루함이 없고 내용정리가 잘되어 있다는 것이 첫 인상입니다. 삽화와 실사 이미지가 많고 편집이 듬성듬성 빈곳이 있는 것 같아 보이지만, 사실은 한 페이지를 2단으로 구성하고 있어서 페이지마다 들어가 있는 내용도 양적인 면에서나 질적인 면에서 결코 만만하지는 않습니다.



어떤 사실을 있는 그대로 설명하는 것은 쉬운 일입니다. 이를테면 1더하기 1은 2다라는 것은 그냥 그렇다고 설명하면 끝나 버립니다. 그러나 복잡한 객체와 프로그래밍에 관해서라면 그냥 설명하는 것만으론 무언가 부족합니다. 그래서 사용하는 것이 일상의 현상과 비교해서 설명하는 것인데요. 이런 식으로 비유를 해서 설명을 해주면 쉽게 내용 전달이 되지요. 그렇지만, 모든 책이 이런 형식을 활용하지는 않는데요. 그 이유는 필자의 스타일에 따르는 것이기도 하겠지만, 설명하고자 하는 내용의 완벽한 이해가 없고, 기획이 없다면 비유를 통한 설명이 어렵기 때문이기도 할 것입니다.



이 책은 비유가 참 잘되어 있습니다. 때로는 실사 이미지를 이용해서 내용을 머리속에 각인시키기도 하고, 퀴즈와 연습문제, 작은 코맨트를 통해서 설명을 해주려고 노력하고 있습니다. 그리고 그런 노력은 분명히 성과가 있어 보입니다. 이런 저자들의 노력에 감명을 받고 있습니다. ^^. 이 책의 어느 페이지를 펼쳐도 삽화나 이미지 예제가 없는 곳이 없습니다. 다른 곳에 눈돌릴 틈이 별로 없지요. 그만큼 흥미를 가지고 책을 볼 수 있다는 이야기도 되겠습니다.



이런 식으로 번잡스럽게 공부를 해서 뭐가 남을까? 이런 의문을 가지신 분이라면 예전에 보셨던 꼬리에 꼬리를 무는.. 그때를 떠올려보세요. 물론 책을 보신 분이라면 말이지요. 그 효과는 이미 확인하신거라 생각됩니다. 앞서의 서평도 호의적인 것들이 대부분인것 같습니다. 이 책의 뒷페이지에 있는 소개를 정리하면 다음과 같겠군요.



"장난스럽고 빠른 방법으로 자바 초보를 자바의 고수로 만들어주는 눈물날만큼 좋은 믿기 힘든 책"



동의합니다.~



발췌: 강컴서평중 - 채동균님

책내용은 여타 프로그래밍 관련책하고는 판이하게 다른면을 보여준다. 이책처럼

프로그램을 설계하는것이 잼이가 있다면 더 없이 좋으리라 생각한다 .. 책장에 꼭꼭 쌓아두었던 자바관련서를 다시 보겠금한 일등공신이다

처음 자바를 시작할려고 한다면 별로 권하고 싶지 않습니다.



자바 입문서를 한번 보셨거나



다른 객체지향언어를 보신적이 있으신 분이



기억을 상기시킨다는 의미에서 보시면 많이 보탬(새로운 것 포함)이 될거 같습니다.



초보자가 보기에는 필요한 코드만 삽입한 경우와 간략하게 설명한 부분에서 헤멜것 같고...



어느 정도 실력자가 보기에는 특별한 것이 없습니다. - 상당히 특별한 것 처럼 광고가 되고 있는 것에 비한다면...



구입한지 2주 정도 되는데 지금 15장 보고 있습니다.



하루 1-3시간 정도 투자 하고 있고요...



진도는 잘 나갑니다. 제가 실력자가 아님에도 불구하고 그만큼 쉽습니다. 가끔 농담에 웃기도 하고요...



그러나 위에서 언급했듯이 프로그래밍 언어를 처음 접한다면 비추천 이고, 기억을 상기시킨다는 의미에서 구입하신다면 만족하실겁니다.



그럼...



ps. 연필을 깍으며... 정답(?)은 7장까지 밖에 없네요...



아무리 뒤져도 없네... 혹시 찾은 사람 있으면 알려주면 고맙죠...

요즘 날씨 참 건조합니다.~~

봄날씨 답지않게 한낮에는 무쟈게 덥져~~

이런땐 봄비라도 투벅투벅 내려주면 딱인데말이죠~~

봄비내릴땐 라면에 만화책몇권 보는것도 한주내내 쌓였던 피로를 풀어주는데 말이죠^^;



내마음에 자바를 심은후 단비를 내려주는 책이였습니다.



무슨chapter가 이렇고 몇장은 이렇드라가 아니라 하나같이 저에겐 단비였습니다.

한번 보십시요~~





절대 후회하지 않을껍니다.~~

자바 배운지 일년은 되지 못하고, 대충 프로젝트 닥치면 해결만 하는 편이었는데 우연히 원서로 된 샘플 챕터를 보고 구입할까 망설이는 중에 번역서가 나와서 구매했습니다.



사실 c++과 java에 대해 매번 헤매고 있는 평범 개발자로서 개념 정리로는 꽤 괜찮은 책이라고 생각됩니다. 페이지 부피가 좀 되는 편이지만, 쉽게 완독할 수 있는 책이라고 생각됩니다. 이제 백페이지 정도 남았네요.



제 성격상 차례대로 읽는 것 보단 프로젝트 하면서 기존 소스 분석하다가 필요한 부분만 읽게 되는 편이라 도움이 꽤 됩니다. inner클래스 이런 것들은 c++에선 찾아보기 어려운 건데... 뭐 그런 개념 정리와 쉬운 예제로 설명하는 것은 좋습니다. 이반호튼 책과 더불어 자바 기초를 마스터하기에 딱입니다.



이제 이책을 보고 나선, 초보 책(이론서)은 좀 접고, J2EE쪽으로 연구해 봐야겠습니다.

처음 이 책을 받았을 때는, 그 특이한 구성과 많은 삽화들에 끌렸지만,

왠지 자바 기초 서적 같을 거라는 편견에 사로 잡혀서...대강 읽자라는 생각이 강했습니다.

그런데, 요즘은 그 생각이 180도 바꼈습니다. 그리고, 처음에는 낱말 맞추기, OX 퀴즈등...

장난스럽게 낸 문제들을 그냥 넘어갔는데, 요즘은 하나하나 다 풀고 있답니다. -_-;;



이 책은 단순하게 자바를 재미있게, 더욱 쉽게 입문하고자 하는 분께도 권하고 싶지만,

왠지 기존 컴퓨터 서적의 구성에 조금 신물이 나신 분들께...

자바 중고급 프로그래머라도 자신이 알고 있는 내용이 다시 어떤 식으로 표현이 되고

있는지, 알고 싶은 분, 개념을 새롭게 잡고 싶은 분께 한번 읽어보라고 권하고 싶습니다.

처음엔 조금 지루할수도 있으나 몇 챕터 지나보면, Head First Java의 진가를 알수 있을

겁니다.



이 책의 제목은 "Head First Java"입니다. 자바를 익히는 데 있어서 양쪽 뇌를 모두 이용

하여, 공부하라는 뜻에서...제목도 구성도 이렇게 잡은 듯 합니다.

직접 보면 아시겠지만, 직접 관련된 그림 뿐 아니라, 삽화도 많이 포함하고 있습니다.

글을 읽어서 익힌 내용보다, 그림을 보고 이해한 내용이 더 명확하고 오래 기억하는 것

과 같은 원리겠죠..^^;;

저자는 자바 프로그래밍 언어 뿐 아니라, 교육학 쪽에도 관심이 많은 것 같습니다.

(퀴즈에도 관심이 많은 듯 합니다. ^^;)



이 책을 볼 때는 마음 편하게 재미있게 보세요. 술술 금방 볼 수 있을 겁니다.



ps. 딱 한가지 아쉬운 점이 있다면, 그 특이한 구성이 챕터마다 반복이 되니까...

조금 식상한 감이 있더군요. 욕심일지도 모르겠으나, 매 챕터마다 새로운 구성을

선보였다면 어땠을까 생각이 듭니다.^^;

퀴즈 같은 것도 같은 게 반복하니까...하기 귀찮아진 점도 있습니다.

결제하기
• 문화비 소득공제 가능
• 배송료 : 2,000원배송료란?

배송료 안내

  • 20,000원 이상 구매시 도서 배송 무료
  • 브론즈, 실버, 골드회원이 주문하신 경우 무료배송

무료배송 상품을 포함하여 주문하신 경우에는 구매금액에 관계없이 무료로 배송해 드립니다.

닫기

리뷰쓰기

닫기
* 도서명 :
Head First Java : 뇌 회로를 자극하는 자바 학습법
* 제목 :
* 별점평가
* 내용 :

* 리뷰 작성시 유의사항

글이나 이미지/사진 저작권 등 다른 사람의 권리를 침해하거나 명예를 훼손하는 게시물은 이용약관 및 관련법률에 의해 제재를 받을 수 있습니다.

1. 특히 뉴스/언론사 기사를 전문 또는 부분적으로 '허락없이' 갖고 와서는 안됩니다 (출처를 밝히는 경우에도 안됨).
2. 저작권자의 허락을 받지 않은 콘텐츠의 무단 사용은 저작권자의 권리를 침해하는 행위로, 이에 대한 법적 책임을 지게 될 수 있습니다.

오탈자 등록

닫기
* 도서명 :
Head First Java : 뇌 회로를 자극하는 자바 학습법
* 구분 :
* 상품 버전
종이책 PDF ePub
* 페이지 :
* 위치정보 :
* 내용 :

도서 인증

닫기
도서명*
Head First Java : 뇌 회로를 자극하는 자바 학습법
구입처*
구입일*
부가기호*
부가기호 안내

* 온라인 또는 오프라인 서점에서 구입한 도서를 인증하면 마일리지 500점을 드립니다.

* 도서인증은 일 3권, 월 10권, 년 50권으로 제한되며 절판도서, eBook 등 일부 도서는 인증이 제한됩니다.

* 구입하지 않고, 허위로 도서 인증을 한 것으로 판단되면 웹사이트 이용이 제한될 수 있습니다.

닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?

자료실

최근 본 책0