로그인회원가입장바구니고객센터마이페이지회사소개
kangcom
전체
Home >   >   > 

JAVA를 지배하는 핵심원리

   
지은이 Kazuya Maedashi   |   출판사 영진.COM  |   발행일 2003년 03월 25일
 
클릭하시면 큰 도서이미지를 보실 수 있습니다.
판매가 16,000원14,400원 10%
마일리지 5% 800원
발행일 2003-03-25
ISBN 8931424612 | 9788931424614
기타정보 번역서 | 413쪽
예상출고일
배송비 2,000원 (20,000원이상 무료배송)
   
프로그래밍언어
종합지수 4p 488 위
   
 

자바를 한번쯤 접해본 프로그래머들을 대상으로 자바 언어, 특히 객체지향 프로그래밍 방식에 대한 사항을 깊이 있게 생각해 보도록 유도한다. 객체 지향을 한번 쯤 접해봤지만 실제 프로그래밍 과정에서는 사용하기 어려워 하는 사람, 객체 지향 프로그래밍 방식의 진짜 의미에 대해 알고 싶은 독자들을 대상으로 한다.

저자는 C와 C++을 많이 접해본 독자를 가정하고 자바 언어는 C++과 어떻게 다른지, 자바의 객체 지향 방식은 어떤 특징이 있는지, 정말 자바에는 포인터라는 개념이 존재하지 않는지 여러 사례와 프로그램 예제들을 통해서 제시하고 독자들과 함께 생각해본다.

단순한 객체의 사용이 아니라, 자바 언어에서 객체는 어떻게 다루어지고 관리되는지, 메모리의 사용은 어떻게 되는지, 자바에서의 '참조'란 어떤 의미를 갖는지 깊이 있는 부분들을 다루고 있으며, 자바 언어를 사용하면서 흔히 하게 되는 실수에 대한 내용도 함께 배울 수 있다.
0장 이 책의 목표와 구성 - Introduction
0.1 대상 독자와 목표
0.1.1 이 책의 구성
0.2 Java에 관한 오해와 지나친 기대
0.2.1 Java의 장점
0.2.2 Java는 간단한가?
0.2.3 Java는 세련된 언어인가?
0.3 객체 지향에 관련된 오해
0.3.1 은총알은 없다
0.3.2 객체 지향에도 「정답」은 없다
0.3.3 객체 지향의 장점은 무엇인가?
0.4 예습편
0.4.1 컴파일러 에러는 놓치지 않는다
0.4.2 Java 콘솔을 살펴봐야 한다
0.4.3 예외를 버리지 않는다
0.4.4 참고 URL

1장 재도전! 객체 지향
1.1 객체 지향의 길 [모듈편]
1.1.1 그래픽 모듈의 사양
1.1.2 비 객체 지향적 관점에서 고찰한다
1.1.3 모듈과 정보 은폐
1.1.4 멀티 윈도우화
1.1.5 「객체 지향」으로 만들어 본다
1.1.6 클래스의 선언
1.1.7 클래스와 인스턴스
1.1.8 숨겨진 인수 - this
1.1.9 「객체에 일을 시킨다」는 발상
1.2 객체 지향의 길 [구조체편]
1.2.1 구조체의 문제점
1.2.2 생성자(컨스트럭터, constructor)
1.2.3 엑세서(accessor)에 의한 정합성 유지
1.3 static - 객체 지향의 「구멍」
1.3.1 일반적인 함수의 작성 방법
1.3.2 글로벌 변수 만드는 법
1.3.3 이름이 있는 상수를 만드는 법
1.3.4 static의 활용
1.3.5 main의 위치 정립

2장 Java는 포인터의 언어이다 - Java에는 포인터밖에 없다
2.1 객체와 포인터
2.1.1 객체의 생성
2.1.2 C++의 포인터와 Java의 포인터와의 차이점
2.1.3 프리미티브형과 참조형
2.1.4 null
2.1.5 객체의 복사
2.1.6 객체의 비교
2.1.7 참조형 필드
2.1.8 포인터와 캡슐화
2.1.9 객체의 복사 - 두번째
2.1.10 immutable 객체
2.2 배열과 포인터
2.2.1 프리미티브형 배열
2.2.2 final과 배열
2.2.3 클래스형 배열
2.2.4 다차원 배열
2.3 파라미터(인수) 건네주기
2.3.1 값 건네주기(call by value)
2.3.2 포인터를 되돌린다
2.3.3 Java에서는 swap()을 만들 수 없다
2.3.4 메소드에서 여러 개의 값을 결과로 반환하고 싶을 때
2.4 Java의 메모리 모델
2.4.1 스택(Stack), 힙(Heap), static
2.4.2 객체와 힙과 포인터
2.4.3 가비지 컬렉터
2.4.4 파이널라이저(finalizer)
2.4.5 왜 변수의 포인터를 취할 수 없는가?
2.5 어째서 Java는 포인터의 언어인가?
2.5.1 생성자의 파라미터 문제
2.5.2 대입 연산자와 복사 생성자의 문제
2.5.3 상속의 문제
2.5.4 포인터만 있으면 된다
2.6 정리 - 결국 Java에는 포인터가 있는 것인가, 없는 것인가

3장 객체 지향 두 번째 이야기 - 상속과 인터페이스
3.1 상속
3.1.1 드로우 도구의 데이터 모델
3.1.2 상속한다
3.1.3 상속과 생성자
3.2 메소드 오버라이드
3.2.1 메소드 오버라이드를 사용하지 않는 경우
3.2.2 다운 캐스트
3.2.3 instanceof에 의한 방법의 문제점
3.2.4 메소드 오버라이드에 의한 해결
3.2.5 abstract/무지정/final 메소드
3.2.6 abstract/무지정/final 클래스
3.2.7 Object 클래스
3.3 C에서 상속을 실현해 본다
3.3.1 서브 클래스
3.3.2 메소드 오버라이드
3.3.3 리플렉션(Reflection)
3.3.4 Class 클래스
3.4 인터페이스
3.4.1 인터페이스는 다중 상속의 대용품인가?
3.4.2 그래픽 모듈을 인터페이스화한다
3.4.3 2개 이상의 인터페이스를 implements한다
3.5 상속을 어디까지 어떻게 사용할 것인가?
3.5.1 상속으로 클래스를 재이용한다.
3.5.2 사례 연구 - Point2D에 기능을 추가한다
3.5.3 is a와 has a
3.5.4 사례 연구 - 배열과 스택
3.5.5 사례 연구 - 학생과 사회인
3.5.6 컴포지션과 위임
3.5.7 사례 연구 - 원과 타원
3.5.8 abstract 클래스와 인터페이스
3.6 X-Draw
3.6.1 전체 소스
3.6.2 사용법과 Applet 주변
3.6.3 Shape 주변
3.6.4 그리기 주변
3.6.5 Canvas와 Command
3.6.6 도형을 추가하는 경우
3.6.7 정말 draw()를 Shape에 넣어도 되는가?

4장 패키지와 액세스 제어 - 수수께끼 사양의 완전 해설
4.1 패키지
4.1.1 패키지는 「계층 구조」인가?
4.1.2 클래스의 「완전 한정 이름」
4.1.3 import란 무엇인가?
4.1.4 클래스 패스와 디렉토리
4.2 엑세스 제어
4.2.1 멤버의 엑세스 제어
4.2.2 멤버의 엑세스 제어는 「클래스 단위」이다
4.2.3 클래스의 엑세스 제어
4.2.4 인터페이스 멤버의 경우

5장 그 밖의 중요한 기능
5.1 Thread
5.1.1 Thread란 무엇인가
5.1.2 객체를 독립된 Thread에서 움직인다
5.1.3 Thread는 객체와 직교하는 개념이다
5.1.4 Thread와 Runnable의 관계
5.1.5 synchronized
5.1.6 객체로 돌아간다
5.2 예외 처리
5.2.1 기존 방법의 결점
5.2.2 Java의 예외 처리 기구
5.2.3 3 종류의 예외
5.2.4 예외 처리를 어디까지 어떻게 사용할 것인가?
5.3 직렬화
5.3.1 직렬화란 무엇인가?
5.3.2 Serializable
5.3.3 transient 필드
5.3.4 transient 필드의 복원
5.4 컬렉션 클래스 라이브러리
5.4.1 컬렉션 클래스란 무엇인가?
5.4.2 genericity가 없다 - Java의 최대 결함
5.4.3 Wrapper 클래스
5.4.4 Iterator
5.5 중첩 클래스(nested class)
5.5.1 중첩 클래스의 예
5.5.2 내부 클래스는 「부모」의 참조를 갖고 있다
5.5.3 static 지정 중첩 클래스
5.5.4 로컬 내부 클래스와 무명 클래스

6장 혼란의 근원 - 이래도 Java가 간단한가?
6.1 메소드 오버로드
6.1.1 메소드 오버로드란 무엇인가?
6.1.2 오버로드는 「정적」이다
6.1.3 혼동되는 경우
6.2 상속·오버라이드·은폐
6.2.1 서브 클래스에서 동명의 멤버를 선언한다
6.2.2 인스턴스 필드는 컴파일시 선택된다
6.2.3 static 멤버를 인스턴스에서 참조한다
6.2.4 static 멤버도 컴파일시 선택된다
6.2.5 정리
6.2.6 static 멤버를 인스턴스를 경유하여 참조해서는 안 된다.
6.2.7 super
6.3 상속에 관한 또 다른 문제
6.3.1 오버라이드와 액세스 제어
6.3.2 오버라이드와 예외처리(Exception)
6.3.3 생성자에서 오버라이드된 메소드를 호출하면
6.4 배열에 관한 또 다른 문제
6.4.1 상속 관계가 있는 클래스의 배열은 상속 관계에 있다
6.4.2 ArrayStoreExceptin
6.4.3 베열은 자신의 형식을 알고 있다
6.4.4 예 : 컬렉션에서 배열을 취득하는 경우
6.5 clone()과 Cloneable
6.5.1 clone()
6.5.2 clone()은 protected이다
6.5.3 Cloneable 인터페이스

7장 테크닉 - Java 기능의 적용 사례
7.1 대규모 개발에서 인터페이스를 분리한다
7.1.1 인터페이스 분리의 필요성
7.1.2 구체적 방법
7.1.3 인수의 문제
7.2 열거형을 만든다
7.2.1 왜 열거형이 필요한가?
7.2.2 열거형을 만든다
7.3 차드 구조의 복사에 직렬화를 이용한다
7.3.1 clone()의 세계
7.3.2 직렬화를 이용한다
7.4 디버그 라이트
7.4.1 디버그 라이트를 컴파일시 없앤다
7.4.2 클래스에 의한 ON/OFF
7.5 컬렉션 클래스를 실용적으로 사용한다
7.5.1 컴포지션을 이용한다
7.5.2 구현 예

8장 함정 - Java의 취약한 언어 사양
8.1 메소드의 이름을 잘못 입력한경우
8.2 가인수를 잘못 입력한 경우
8.3 생성자에 void를 붙인 경우
8.4 클래스에서 인터페이스로 형식을 변환한다
8.5 C에서 가져온 장점
Kazuya Maedashi
1969년 아이치 현 출생. 나고야 시의 소프트웨어 회사인 츄부(中部) 소프트 엔지니어링(주)에 근무하는 프로그래머. 저서로는 『C언어 포인터 완전 제패』, 『C언어 학습 철저 입문』(이상 기술평론사 간행)이 있다. C언어를 무척 사랑하지만, 최근에는 Java, VC++, MFC를 상대로 악전고투하고 있다.
자바와 C 중 어느 언어가 더 좋은가?
장찬규님이 쓰신 서평보기 I 평점 I 조회수(1213) I 공감 (0) I 블로그
자바와 C 중에서.. 어느 언어가 더 좋은 언어인가?뭐.. 어디선가 듣거나/본듯한 질문!하지만, 프로그래밍을 직업으로 갖고 있는 사람들 중에서, 위 질문에 대해 체계적으로 설명할 만한 사람은 그다지 많지 않은것 같다.자바의 JVM 자체를 설명하진 않지만, 자바가 갖고 있는 특성/특징(?)을 이해할 수 있는 책이다.여타의 리팩토링 관련한 책들을 읽기 전에, 한 번 볼만하다.
다른 프로그램언어 개발자가 바라본 자바를 알고싶다면
송재운님이 쓰신 서평보기 I 평점 I 조회수(1251) I 공감 (0) I 블로그
내가 이 책을 산 이유는.. 이 책의 저자가.. C++ 프로그래머 인데.. C++ 프로그래머의 관점에서 자바 책을 썻다는 이유때문이다. 과연..어떤 관점에서.. 어떻게..자바를 바라보고... 자바프로그래머와.. 어떻게 생각하는게 틀린가... 가.주 관심사였다. 머 일단 내용은..흥미롭다. C++ 프로그래머로서..이런방식은 이해가 안간다 하는 부분들도..대체로 공감이 가는 부분이고.. 더욱이.. 이 책을 읽으므로 해서.. 자바는 포인터밖에 없는 언어이다... 라는.. 말을 믿게 되었다.. 한가지...
C&C++공부한사람에게 JAVA를 이해시켜주는 책
이재경님이 쓰신 서평보기 I 평점 I 조회수(1390) I 공감 (0) I 블로그
일단 저는 c하고 c++을 공부하는 사람이란걸 먼저 밝혀둡니다 자바는 웹쪽으로 짧은 시간에 많은 발전을 이루었다고 듣기만하고 있었구요 그나마 c하고 c++소스는 조금 읽을수있게되니 자바가 몰까?하는 생각에 이런저런 자바 책을 봤는데요 그중에서 이책은요 c나 c++공부한 사람에게 자바를 좀더 쉽게 이해시켜주기 위한 책이라는 점에서 높은 점수를 주고싶은 책이에요 아직은 자바를 파고들어갈 생각은 접어두고요 지금하는 c나 c++을 한동안은 위주로 할생각이지만요 자바라는 것...
Java의 비밀을 폭로한다~
이상화님이 쓰신 서평보기 I 평점 I 조회수(1801) I 공감 (0) I 블로그
자바에 대해 가장 많이 듣게 되는 말 중에 하나가 자바는 포인터가 없다는 말이죠. 물론 포인터 연산자가 없기 때문에 언뜻 그렇게 보일 수 있겠지만 초급을 넘어 자바 서적을 한 두 권 읽다 보면 포인터의 개념 없이 자바를 완전하게 이해할 수는 없다는 걸 점점 깨닫게 됩니다. 물론 이런 얘기를 꼭 이책에서만 접할 수 있다는 말은 아닙니다. 어떻게 보면 많은 책에서 우리가 흔히 생각하고 있던 자바에 대한 잘못된 개념들을 이책은 한 권에 특히 궁금하고 혼동되는 부분만 추려내...
철학과 사상이 담긴 책이 좋다.
서영태님이 쓰신 서평보기 I 평점 I 조회수(2014) I 공감 (0) I 블로그
한때는 우리 나라 IT 계열의 인기 도서를 보면..대부분 '바이블'이란 이름을 달고 나온 두꺼운 책이 대부분이였다.최대한 가지고 있는 지식을 있는 그대로 쭈욱 뽑아 쓸려고 노력하고,하나라도 빠트리면 큰일날까 싶어 지면을 아껴가며 모든걸 다 담아내려 한다.그야말로 바이블이다. 하나의 덩치 큰 사전과 같은 책들이다.(여기에 단순주입식 교육에 익숙해진 우리의 사고도 한몫거든다.)(그러한 것들은 레퍼런스나 라이브러리를 참조하고 우리에겐 생각할 여지가 필요하다)물론 이런...
자바를 사랑합니까?
김용환님이 쓰신 서평보기 I 평점 I 조회수(1814) I 공감 (0) I 블로그
예전에 학부생활때 친구들이랑 식사를 하다보면, (참고로 전산전공 친구) 싸우는 소리를 듣기도 했었습니다.Java가 짱이지, C가 짱이지.....아녀, Visual c++이 짱이야.언어는 언어나름대로의 철학이 있습니다. 왜 이런 언어가 나왔는지, 어떻게 사용되는지, 만든 사람의 아이디어라든가...이책은 <프로그래밍 언어론>에서의 바로보는 하나의 측면을 설명하고 있습니다. 객체지향이란 무엇인가? 객체지향적인 특징이 무엇인가?하나하나 따져갑니다.c도 객체프로그래밍이 가능하다며, ...
SQL 전문가 가이드 [The Guide for SQL Professional](2013 Edition)...
한국데이터베이스진흥원
선택된 상품을 찜하실 수 있습니다. 선택된 상품을 바로구매 하실 수 있습니다.
JSP 2.1 웹 프로그래밍(입문에서 완성까지)(SECOND EDITION)...
손진곤
선택된 상품을 찜하실 수 있습니다. 선택된 상품을 바로구매 하실 수 있습니다.
Practical 자바 유틸리티...
장윤기
선택된 상품을 찜하실 수 있습니다. 선택된 상품을 바로구매 하실 수 있습니다.
 
전체평균(35)
회원평점   회원서평수 6
자바와 C 중 어느 언어가 더 좋은가?
장찬규 님  2005-08-17
다른 프로그램언어 개발자가 바라본 자바를 알고싶다면
송재운 님  2004-12-24
C&C++공부한사람에게 JAVA를 이해시켜주는 책
이재경 님  2004-11-22
Java의 비밀을 폭로한다~
이상화 님  2004-06-08
철학과 사상이 담긴 책이 좋다.
서영태 님  2004-03-11
자바를 사랑합니까?
김용환 님  2004-02-04
영진.COM 출판사의 신간
2018 이기적in lot 사물인터넷 지식능력검정 기본서

21,600원
(10%↓+5%)
 
메이커 다은쌤의 FDM 3D PRINTING
전다은 저
10,800원
(10%↓+5%)
 
눈이 즐거워지는 액세스 2010
이정휘 저
13,500원
(10%↓+5%)
 
iPhone 실전 프로젝트 따라하기(10개의 앱으로 배우는)
안진섭, 박인혜, 최재규 저
22,500원
(10%↓+5%)
 
눈이 즐거워 지는 엑셀 2010
이민욱 저
13,500원
(10%↓+5%)
 
이메일주소수집거부