신간소개 2013. 8. 12. 11:57

 


 l  저자: 한주성

 l  페이지: 1052

 l  판형: 4x6배판(188x257) 

 l  도수: 1

 l  정가: 48,000

 l  발행일: 2013년 8월 23

 l  ISBN: 978-89-97924-05-9 93000

  


[절판되었습니다]

[강컴] [교보] [반디] [11번가] [알라딘] [예스24] [인터파크]


sample.pdf

_도서 내용

윈도우 구조를 먼저 이해하고 이를 바탕으로 실습을 통해 리버싱을 익히는 책이다. 윈도우 구조 학습은 디버거를 활용해 직접 부팅 단계부터 내부를 들여다보면서 학습한다. 단순 이론만 가르쳐주는 방식이 아니라 실제로 디버깅 환경을 구축해보고 내부 구조를 살펴보는 방식을 취하고 있다. 윈도우 시스템의 구조에 대한 이해를 바탕으로 어떻게 해킹이나 장애를 진단하고 해결해가는지를 실습 위주로 보여준다.

무엇보다 보는 재미가 아니라 직접 해보는 재미가 쏠쏠한 책이다.

 

_대상 독자

Q. 누구를 위한 책입니까?

A: 로우레벨 쪽에 관심이 있어 보안, 시스템 전문가가 되고 싶어하는 독자

Q. 필요한 선수지식은 있나요?

A: 기초적인 프로그래밍 지식과 가상 머신 설치하고 약간 활용할 수 있는 정도의 지식

 

 _목차

1. 윈도우 구조: MBR에서 로그온까지

1장. 부팅의 시작: MBR (실습)

1.1 실습 준비

1.2 MBR 영역 코드 분석

1.3 MBR 영역 실시간 분석

1.4 부트 섹터

2장 Windbg 준비 (실습)

2.1 실습 준비

2.2 심볼 설정

2.3 커널 디버깅

3장 시스템 시작: 커널 생성 (Ntos****.exe)

3.1 System Idle

4장 커널과 유저의 소통: 시스템 프로세스

4.1 서브시스템(Subsystem)

4.2 세션 관리자 Smss.exe

4.3 서브시스템 관리자 Csrss.exe

4.3.1 LPC

4.4 로그인 관리자 Winlogon.exe

4.4.1 새로운 세션 0 관리자 Wininit.exe

4.5 보안 관리자 - Lsass.exe

4.6 서비스 관리자 Services.exe

4.6.1 서비스 계정

4.7 유저 초기화 - Userinit.exe

4.8 아직 끝나지 않은 부팅 - 자동 실행

5장 커널 진입: Ntdll.dll

6장 운영: 성능/관리 (실습)

6.1 실습 준비

6.2 성능

6.2.1 성능 모니터링

6.2.2 Xperf

6.2.3 네트워크

6.3 관리

6.3.1 WMI

6.4 덤프 분석

 

2부 윈도우 내부 동작 이해

7장 프로세스, 스레드(실습)

7.1 EPROCESS, KPROCESS

8장 레지스터

9장 어셈블리 (실습)

9.1 실습 준비

9.2 MOV 명령

9.3 CMP 명령

9.4 ADD/SUB 명령

9.5 PUSH/POP 명령

9.6 INC/DEC 명령

9.7 NOT/AND/OR/XOR 명령

9.8 DIV/IDIV 명령

9.9 CALL/JMP/RET 명령

 

 

 _주요 내용

윈도우 구조에 대한 이해부터 시작하는 체계적인 접근법

최초 부팅 단계부터 모든 시스템 자원이 세팅되는 단계까지 체계적으로 학습하여 기초를 단단하게 다진 후에 시작한다. 결국원리에 대한 이해가 이 책의 근간을 이루는 가장 큰 핵심이다.

 활용성 높은 도구를 이용한 실전 학습법

가상머신부터 디버깅 및 디버기, 디어셈블러 등 수많은 도구들 중 활용성을 기준으로 선별하여 실전과도 같은 실습 학습을 제시한다.

 저자의 경험을 간접 체험할 수 있는 <이것이 알고 싶다> 코너

각 장의 끝에 편집자가 원고를 읽으면서 입문자의 입장이 되어 궁금한 질문을 하였다. 때론 바보 같은 질문일 수 있지만 리버서가 되기 위한 입문자들에게는 좋은 가이드가 되어줄 것이다.

 보안, 해킹, 운영, 성능까지 다양한 간접 경험을 쌓을 수 있다

리버싱은 작은 단서로 시작하여 어떤 문제를 해결해가는 과정을 의미한다. 그것이 결국 보안의 문제일 수 있고 운영이나 성능의 문제일 수 있다. 이런 다양한 관점에 대한 접근법이 문제 해결 능력을 키우는 데 실질적인 도움을 줄 수 있을 것이다.

 이 책은 저자가 10년 이상의 네트워크, 보안, 시스템 운영 경험과 보안 프로그램 개발 경험을 바탕으로 리버스 엔지니어링에 관심 있는 사람들이 반드시 알아야 할 내용을 체계적으로 기술하고 있다. 윈도우 리버스 엔지니어링 기본서로서 가까이 두고 참고해도 손색이 없는 책이다.

_베타리더 고승의(마이크로소프트 고객기술지원부)

 이 책은 리버싱에만 초점을 맞춘 것이 아니라 OS의 기본을 먼저 힉습한 후에 이를 리버싱에 응용할 수 있도록 안내해 주고 있다. OS의 기본 구조뿐만 아니라 리버싱에 대해서도 많이 배울 수 있었다.

_베타리더 이현정(마이크로소프트 고객기술지원부)

 

_편집자 코멘트

이 책을 편집하면서 리버싱이라는 분야가 참으로 매력적이구나, 라는 것을 느꼈습니다. 비트 사이를 헤집고 다니면서 작은 단서 하나에 의존하여 원인의 진원지를 찾아가면서 그 배경을 알아가는 게 참으로 기막힙니다. 단순히 이론이나 원리만 알려주는 책이었다면 느낄 수 없었을 것입니다.

 

_저자 소개

한주성 http://itka.kr

마이크로소프트 기술지원부 플랫폼팀에서 근무하다 2008년 인젠에서 보안 컨설팅 업무를 수행했다. 삼주시스템, 윈디소프트를 거쳐 현재 아이덴티티게임즈 SE팀 팀장으로 주로 보안 업무를 담당하고 있다.

CCIE-Security, CISA, CISSP, MCTS:Windows Internal 등의 자격증을 보유하고 있으며, 월간 마이크로소프트웨어에 2011년부터 현재까지 역분석과 관련된 다수의 글을 연재하였고, 현재 Enterprise Security MVP(마이크로소프트 전문가 활동 공로상)로 활동 중이다.

 

_상세 이미지



_끝

posted by 로드북
:
오탈자 정보 2013. 8. 12. 11:57

(오탈자 신고: chief@roadbook.co.kr 또는 댓글로 남겨주세요)

-------------------------------------------------------------------

_20페이지(그림 아래 3째줄)

오류: 용어로로

수정: 용어로

-----------------------------------------------------------------

_29페이지(9째줄)

(사르님 제공)

오류 : 0x0000001CA ~ 0x0000001CF : 전체 디스크 섹터 수
수정 : 0x0000001CA ~ 0x0000001CD : 전체 디스크 섹터 수

---------------------------------------------------------------

_309페이지 (박스 안 마지막 "//~ " 부분)

(사르님 제공)

오류: // 아래 명령을 수행하면~~~ 으로 변경된다.

수정: // 아래 명령을 실행하면, 스택 창 최상위에 "0"이 들어가며, 스택을 사용했기 때문에 현재 스택 위치를 가리키는 ESP 레지스터 값이 0x0012FFB4으로 변경된다.

----------------------------------------------------------------------

_333페이지(1째줄)

(사르님 제공)

오류: ADD

수정: AND

----------------------------------------------------------------------

_341~342페이지(FPU예제)

예제가 잘못된 부분이 있습니다. 아래 URL에서 확인해 주시기 바랍니다. 결과화면은 동일합니다.

http://itka.kr/150175742229

-----------------------------------------------------------------------

_339페이지(7째줄)

(사르님 제공)

오류: DIV

수정: IDIV

-----------------------------------------------------------------

_344페이지(Q&A 마지막줄)

(사르님 제공)

오류: 레러런스

수정: 레퍼런스

-----------------------------------------------------------------

_583페이지(6째줄)

(ssmk000 제공)

오류: LastAccseeUpdate 

수정: LastAccessUpdate

-----------------------------------------------------------------



posted by 로드북
:
자료실 2013. 8. 12. 11:56

_이 책의 예제 소스입니다.

여기를 클릭하세요.


_특별판, <리버싱, 이것이 알고싶다>

리버싱특별판.pdf


<리버싱, 이것이 알고싶다>는 각 장의 마지막 부분에 등장하는 <이것이 알고싶다>만 별도로 모아 편집해놓은 내용입니다. 리버싱에 입문하는 분들에게 특히 전체적인 그림을 그리는 데 도움을 줄 수 있지 않을까 싶습니다.

책을 보기 전에 한번 읽어보셔도 이 책이 어떤 책이구나, 라는 것을 알 수 있을겁니다. 그럼, 주위 분들에게 많이 배포해주세요. ^^



posted by 로드북
:
출간예정도서 2013. 8. 7. 19:58

8월에 나올 신간 예정도서입니다.

전갈 표지가 강렬해보이네요. 제목은 "리버싱 윈도우"입니다.

원리와 실습, 두 마리 토끼를 잡기 위해 노력했습니다. 원리에서는 윈도우 구조의 큰 그림을 그려주고 세부 동작 원리를 부팅 단계부터 차근차근 알려주고 있습니다.

이 구조에 대한 이해를 바탕으로 어떻게 해킹이나 장애를 진단하고 해결해가는지를 실습 위주로 보여주고 있습니다.

저는 이 책을 편집하면서 엔지니어는 아니지만, 리버싱이라는 분야가 참으로 매력적이구나, 라는 것을 느꼈습니다.

비트 사이를 헤집고 다니면서 작은 단서 하나에 의존하여 원인의 진원지를 찾아가면서 그 배경을 알아가는 게 참으로 기막힙니다. 단순히 이론이나 원리만 알려주는 책이었다면 느낄 수 없었을 것입니다.

저자의 마지막 코멘트를 한번 캡처해보았습니다.



참고로 1000페이지가 넘어요...ㅠㅠ 그래도 지루하지 않게 만들었습니다. ^^

기나긴 편집 과정도 이제 곧 막내리네요. 얏호...........!!

Coming Soooooooooooon~~~



posted by 로드북
:
편집자노트 2013. 7. 2. 18:24

<자바의 신>은 원래 <해법 자바>라는 가제목을 갖고 있었습니다.

"해법"이라는 단어가 아무래도 저작권에 위배될 가능성이 커 제목을 급선회하게 되었죠.

원고 집필 과정에서도 한번 검토를 했다가 막판 인쇄 전에 너무 찝찝하여 저자에게 얘기하자, 바로 제안한 제목이 자! 바! 의! 신!

이상하게 걱정도 되면서 바로 끌리더군요. 사무실 옆 동료들에게 물어보자 "이상해~~" "그게 뭐야~~~" 하는 반응. 그래도 이렇게 좀 황당하기 짝이 없는 제목에 한번에 끌린 적이 없던 나로서는, 나의 촉(?)을 믿어보기로 하였습니다.

저자가 예전에 구입해놓은 도메인이 GodOfJava가 있다는 기막힌 우연까지...뭔가 느낌이 좋았죠. 그리고 인쇄 직전에 "신(神)"이라는 단어가 갖는 부정적 의미를 조금이나마 없애기 위해 하일권님의 <목욕의 신> 만화를 넣게 되었습니다. 저자의 강력한 의지로....그리고 <자바의 신>이 지향하는 바와 맞아 떨어지기도 했고요.

이 책은 22분의 베타리더 분들이 참여를 하였습니다. 그 분들을 모두 찾아뵙고 감사를 드렸어야 했는데...이 자리를 빌어 다시 한번 감사합니다.

처음 저자의 제안,

"파일로 보면 잘 안볼 것 같아 ... 제본해서 베타리더분께 드렸으면 좋겠습니다."

(흔쾌히...) "네...그렇게 하시죠...^^"

앗차, 베타리더 모집을 했는데, 22명이 참여한 시츄에이션....

"Oooooooooooooops...."

책은 1200페이지에 분권해서 제본하면 총 44권...사과 상자로 (좀 널널하게) 두 박스가 나오더구요. 오늘 그 한 박스를 버릴려고 정리를 하다가 이 글을 정리하게 되었습니다. 한 박스는 집에 그냥 두었습니다. ^^ 아직 버리지 못하고 있다는...

베타리더분들의 메모 하나하나는 상당히 도움이 많이 되었습니다. 여러 독자의 관점을 엿볼 수 있는 계기가 되었고요. 특히, 자바 생초보분부터 전문가까지 다양한 생각, 의외의 제안 등등...아무튼 저자와 출판사가 보지 못한 사각지대까지 요목조목 잘 짚어주셔서 완성도가 조금 높아졌던 것같습니다.

편집자로서 상당히 특이한(?) 경험이었고 베타리더분들과 저자의 열정에 다시 한번 박수와 감사를 드립니다.

[진짜 사과 박스입니다.]

[펼쳐보니 이렇게...]

[꼼꼼하게 포스팃까지 붙여주신 분도 계시고...]

[친절하게 설명까지...]

[대부분 이렇게 꼼꼼하게 연습문제도 풀어주시고...물론 깨끗한 분도 계셨다는..ㅎㅎ]

[이렇게 메모도 달아주시고....]

'편집자노트' 카테고리의 다른 글

<자바의 신> 별책 부록 제공  (0) 2014.04.28
취 중 독 서  (2) 2013.10.30
책 읽기의 관점  (0) 2013.06.26
<자바의 신神>이란 무엇인가  (0) 2013.02.21
단상(斷想)  (0) 2012.09.11
posted by 로드북
:
편집자노트 2013. 6. 26. 18:32

서가에서 눈에 띄길래 그냥 손에 쥐고 펼쳤다. 휘리릭 하고 책장을 넘기는데, 등장한 문구....


"먹먹하다" 
"눈물이 핑~ 돈다."

그리고 몰입하기 시작했다. 가슴이 벅차오르고 전율이 일며 때론 분노와 안타까움이 일어난다.

난 저 한줄을 보고 끌렸고 몰입을 했으며 그리고 바로 책을 샀다.

"역사를 알고 싶어서?" "지식을 넓히고 싶어서?" 

"이도저도 아니라 내 지친 육신을 위한 힐링을 위해서..."

심장이 뛰고 피가 솟구치고 찌릿하고 때론 눈가에 촉촉함까지....온 신경이 살아움직이는 기분, 이게 책으로서 가능하구나 하는 생각...

아무튼, 난 이 책을 완독할 수 있었고 조금이나 힘들게 살아가는 나에게 잠시나마 "살아있다."는 것을 느낄 수 있게 해주었다.


독자로서는 "힐링"이라는 의미있는 목적을 달성했고 편집자로서는 두 가지의 중요성을 다시 한번 배우고 배우고 책장을 덮었다.

1) 모든 시작은 중요하다.

우리가 흔히 이야기 하는 타이틀은 책제목부터 장제목 중제목 소제목의 깊이로 들락날락한다. 책제목이야 유일한 정점이기 때문에 그 중요함은 두말할 나위 없고 나머지 제목들 그리고 그 제목 이후의 시작글이 무엇보다 중요하다. 

위에서 언급한 단 세 줄이 나를 단숨에 사로잡았으니...... 

책은 어떻게 보면 산의 능선을 따라가는 행위와 비슷하다. 다른 게 있다면 가장 높은 붕우리(책제목)에서 능선의 끝자락을 한번 살펴보고 간다는 게 조금 다르지 않을까.

2) 리듬감이 있어야 한다.

읽기에도 숨이 막힐 듯한 텍스트만 있다면 얼마나 지루할 것인가? 페이지 늘리기가 아니라 때로는 꽉찬 텍스트의 압박에서 벗어나 시원한 들판으로 나와 시원한 바람에 땀도 식히고....그러다 다시 텍스트의 감동으로 들어가고....

이 책은 EBS에서 방영되는 5분짜리 짧은 영상들을 모아 글로 엮은 것이라 한다. 내가 그 영상들을 보지는 않았지만, 글이 주는 감동만 할지는 모르겠다. 이게 글의 힘이 아닐까.....읽은 지 며칠 지났는데도 강한 여운이 남아 내가 살아갈 에너지를 충전해주는 책이다.

"내 목표를 이루기 위해 최선을 다하다 죽는다면...후회가 없다." (책 속에서....)

어떻게 살 것인가...고민할 때 내가 좋아하는 지식을 소비해보는 것은 어떨까?

****도서****

<역사 e : 세상을 깨우는 시대의 기록>, EBS 역사채널ⓔ/국사편찬위원회 공저, 북하우스


'편집자노트' 카테고리의 다른 글

취 중 독 서  (2) 2013.10.30
<자바의 신> 뒷이야기  (0) 2013.07.02
<자바의 신神>이란 무엇인가  (0) 2013.02.21
단상(斷想)  (0) 2012.09.11
종이밥을 먹는다는 것...  (0) 2012.07.09
posted by 로드북
:
신간소개 2013. 4. 11. 20:25



● 저자: 이상민

● 감수: 김성박, 박재성

● 페이지: 680

● 판형: 4X6배판(188 x 257)

● 도수: 2도

● 정가: 27,000원

● 발행일: 2013년 4월 26일

● ISBN: 978-89-97924-04-2 93000

[절판!!!!!!!!!]


[강컴] [교보] [반디] [11번가] [알라딘] [예스24] [인터파크]


[샘플원고] 2장 String에 관한 샘플원고입니다!!

sample_String.pdf


_도서 내용

이 책은 <자바의 신> 세트 중 2권으로 주요 API 활용법을 다루고 있습니다. 단순히 API 문서를이해하기 쉽게 정리한 것이 아닙니다. 실제 현장에서는 무슨 API가 어떻게 쓰이는지의 관점에서 정리한 책입니다. VOL.1과 마찬가지로 독자가 생각하며 학습할 수 있도록 구성하였고 연습문제에 심혈을 기울였습니다. 23명의 베타리더 및 감수자가 먼저 리뷰하고 의견을 반영한 책입니다.

※ 이 책은 2권으로 구성된 <자바의 신세트 중 2권입니다.

 

_대상 독자

Q. 자바 개발자로 일하고 싶은데, 무엇을 어떻게 시작해야 할까요?

A: 우선 VOL.1을 마스터하세요. 연습문제를 반드시 풀어봐야 합니다.

Q. 현업에서 개발자로 일하고 있지만, 나의 개발 방식이 가끔 맞는 것인지 헷갈릴 때가 있어요.

A: VOL.1을 건너 뛰고 VOL.2를 보셔도 됩니다. 레퍼런스로 찾아서 보셔도 좋을 듯 합니다.

Q. 개발자는 아니지만, 개발자들과 소통할 일이 많아요.

A: VOL.1만 공부해도 충분합니다. 개념을 익히는 데 많은 도움을 받을 수 있어요.

 

_목차

1. 기본 API

 

1. 매번 만들기 귀찮은데 누가 만들어 놓은 거 쓸 수 없나요?

미리 만들어 놓은 클래스들은 아주 많아요

API를 열어보자

클래스 및 인터페이스의 상세 정보 화면을 살펴보자

Deprecated라고 표시되어 있는 것은 뭐야?

어노테이션과 Enum의 상세 정보 화면은 조금 다르다

Header Footer에 있는 링크들은 뭘까?

 

2. String

자바에서 가장 많이 사용하는 String 클래스

String의 생성자에는 이런 애들이 있다

String 문자열을 byte로 변환하기

객체의 널 체크는 반드시 필요하답니다

String의 내용을 비교하고 검색하는 메소드들도 있어요

String 내에서 위치를 찾아내는 방법은 여러 가지에요

String의 값의 일부를 추출하기 위한 메소드들은 얘네들이다

String 값을 바꾸는 메소드들도 있어요

절대로 사용하면 안 되는 메소드가 하나 있어요!!!

immutable String의 단점을 보완하는 클래스에는 StringBuffer StringBuilder가 있다

 

3. 가장 많이 쓰는 패키지는 자바랭

java.lang 패키지는 특별하죠

숫자를 처리하는 클래스들

각종 정보를 확인하기 위한 System 클래스

System.out을 살펴보자

수학적인 계산을 위해서 꼭 필요한 Math 클래스

 

4. 실수를 방지하기 위한 제네릭이라는 것도 있어요

실수를 방지할 수 있도록 도와주는 제네릭

제네릭이 뭐지?

제네릭 타입의 이름 정하기

제네릭에 ?가 있는 것은 뭐야?

제네릭 선언에 사용하는 타입의 범위도 지정할 수 있다

메소드를 제네릭하게 선언하기

 

 

<VOL.1의 주요 목차 요약>

1. 시작하기

1. 프로그래밍이란 무엇인가?

2. Hello Basic Java

3. 자바를 제대로 알려면 객체가 무엇인지를 알아야 해요.

 

2. 기초 문법

4. 정보를 어디에 넣고 싶은데

5. 계산을 하고 싶어요

6. 제가 좀 조건을 따져요

7. 여러 개를 하나에 넣을 수는 없을까요?

 

3. 객체지향

8. 참조 자료형에 대해서 알아봅시다

9. 자바를 배우면 패키지와 접근 제어자는 꼭 알아야 해요

10. 자바는 상속이라는 것이 있어요

11. 모든 클래스의 부모 클래스는 Object에요

12. 인터페이스와 추상클래스, 그리고 enum

13. 클래스 안에 클래스가 들어갈 수도 있구나

14. 다 배운 거 같지만, 예외라는 중요한 게 있어요

15. 어노테이션이라는 것도 알아야 한다

16. 이제 기본 문법은 거의 다 배웠으니 정리해 봅시다

 

_주요 내용

이 책은 VOL.2로 주요 API 활용법을 다루고 있습니다.

VOL.1이 기초 문법을 다루었다면, VOL.2에서는 개발 현장에 많이 활용하는 주요 API가 무엇이고 어떻게 쓰이는지를 다룹니다.

가장 신경 쓴 점은 생각하는 습관을 갖도록 하는 데 있습니다.

이 책에는 생각해 봅시다라는 쉬어가는 코너가 아주 자주 등장합니다. 이 코너에서는 독자에게 화두를 던지고 그에 대해 짧게는 1분에서 길게는 10분까지 생각해볼 수 있도록 하였습니다. 이를 통해 현업에서 개발자로 성장했을 때 단순 코더가 아니라 생각하는 코더가 될 수 있도록 세심하게 배려하였습니다.

연습문제에 심혈을 기울였습니다.

문제를 풀어보는 것만큼 실력을 높일 수 있는 지름길은 없습니다. 서술형 문제에서는 이미 학습한 내용을 잘 기억하고 있는지 테스트할 수 있습니다. 실습 문제에서는 작은 단위의 프로그램을 만들어보면서 프로그램 짜는 능력을 쑥쑥 키워갈 수 있습니다.

<자바의 신> 사이트에서 연습문제도 직접 풀어보고 궁금한 게 있으면 저자에게 바로 물어보세요.

https://sites.google.com/site/godofjavabook/ 

<자바의 신> 페이스북 홈페이지
http://www.facebook.com/GodOfJavaBook

 

_편집자 코멘트

편집자인 저도 원고의 초고를 보면서 연습문제를 직접 풀어보았습니다. 사실 삽질을 되게 많이 했습니다. “어디서 에러가 나는 거지?” “앞에서 이런 부분을 설명했나?” “~ 내가 이런 부분을 이해하지 못하고 넘어갔구나하면서, 교정 시간은 더디게 갔지만, 훨씬 자바라는 언어에 더 가까워질 수 있었습니다.

이 책의 베타리뷰어로 참여했던 분들도 비슷한 경험을 하였습니다. 이 책은 21명의 베타리뷰어가 리뷰를 하였습니다. 디지털 파일이 아니라 모든 분들께 일일이 제본된 책자가 제공되었습니다. 실제 독자가 학습하는 방식 그대로를 재현하면서 어디에서 막히는지, 문제점은 없는지를 발견하고 이를 책에 반영하였습니다. 상당히 까다롭고 귀찮은 작업이었지만, 기본서의 중요성에 비추어 볼 때 이 정도의 투자는 해야 한다고 생각했습니다.

이 책에 참여해주신 21명의 베타 리뷰어와 좋은 기본서를 만들어준 저자에게 진심으로 감사를 드립니다.

 

_저자 소개

이상민 god@godofjava.com

현재 SK planet에서 근무 중이며, 삼성 SDS NHN에 근무했었다. 자바와 성능에 관련된 기술 지원이 주 업무이며, 잉여 시간을 할애하여 자바 개발자들을 위한 책들을 집필해왔다. 저서로는 <자바 성능을 결정짓는 코딩 습관과 튜닝 이야기>, <자바 개발자도 쉽고 즐겁게 배우는 테스팅 이야기>, <자바 개발자와 시스템 운영자를 위한 트러블 슈팅 이야기>, <프로그래머로 산다는 것(공저)>이 있다.

                                                                                               _

posted by 로드북
:
오탈자 정보 2013. 4. 11. 20:24

아래 링크에서 오타 정보를 확인할 수 있습니다.

<자바의 신> VOL.2 오탈자 사이트 바로가기


posted by 로드북
:
IT 포스팅 2013. 3. 8. 12:11

자바의 창시자 "제임스" 아저씨 아시죠? 그분의 캐리커처가 등장하는 만화에요. 좀 비슷하나요? ^^



posted by 로드북
:
IT 포스팅 2013. 3. 7. 18:03

<자바의 신> VOL.1의 8장을 보면 this를 이렇게 설명하고 있습니다.


this라는 예약어는 영어 단어의 의미 그대로 “이 객체”의 의미다. 하지만, 자바에는 that이라는 예약어는 없다(좀 썰렁한가?). this 예약어는 생성자와 메소드 안에서 사용할 수 있다. 앞장에서 살펴본 생성자 중에서 매개 변수를 하나만 받는 생성자를 다시 살펴보자.


이 코드에 this라는 것이 없으면 어떨까?


여러분들이 자바에서 컴파일을 하는 컴파일러(javac)라고 생각해보자. 인스턴스 변수인 name도 있고 매개 변수로 넘어온 name도 있다. 여러분들의 마음은 앞에 있는 name은 인스턴스 변수인 name으로 생각하게 하고, 뒤에 있는 name은 매개 변수인 name으로 생각하고 싶을 것이다. 하지만, 컴파일러는 여러분들의 마음처럼 쉽게 움직여 주질 않는다. 생성자 안에서 사용하는 변수이기 때문에 중괄호 안에 있는 name은 모두 매개 변수로 넘겨준 name이라고 생각한다. 이러한 혼동을 가장 쉽게 피하는 방법은 매개 변수와 인스턴스 변수의 이름을 다음과 같이 다르게 하는 것이다.


이렇게 이름을 다르게 하면 쉽게 구분이 되기 때문에 여러분들도 컴파일러도 혼동되지 않을 것이다. 하지만, 이렇게 이름을 구분하는 것보다 간단한 방법이 this라는 예약어를 사용하는 것이다. 처음에 살펴본 생성자를 다시 보자.

이렇게 this.name이라고 지정해 주면, 매개 변수 안에 있는 name이 아닌 “이 객체의 name”이라고 명시적으로 지정해 준다. 그러면, 컴파일러나 여러분들도 쉽게 구분이 될 것이다. this라는 키워드는 이렇게 변수에만 지정할 수 있는 것은 아니다. 메소드에도 this를 지정할 수 있다. 여러분들이 아직 상속에 대해서 배우지 않았기 때문에 메소드에 this를 붙이는 것은 다음 장에서 자바의 상속을 배운 후에 살펴보자.


이제 자바의 예약어 this가 뭔지 아시겠죠? 헷갈리지 마세요. ^^





posted by 로드북
: