HOME > Detail View

Detail View

이펙티브 자바

이펙티브 자바 (Loan 5 times)

Material type
단행본
Personal Author
Bloch, Joshua 심재철 , 옮김
Title Statement
이펙티브 자바 / Joshua Bloch 지음; 심재철 옮김.
Publication, Distribution, etc
서울 :   대웅 ,   2009.  
Physical Medium
xiii, 460 p. : 삽도 ; 24 cm.
Series Statement
(The)Java series
Varied Title
Effective Java programming language guide. - 2nd ed.
ISBN
9788986044768
General Note
부록: 제1판과의 항목 대비  
Bibliography, Etc. Note
참고문헌(p. [445]-450)및 찾아보기(p. 451-460)수록
비통제주제어
자바 , Java ,,
000 00854camccc200277 k 4500
001 000045544710
005 20100805013112
007 ta
008 090511s2009 ulka b 001c kor
020 ▼a 9788986044768 ▼g 93560: ▼c \27,000
035 ▼a (KERIS)BIB000011644781
040 ▼a 211042 ▼c 211042 ▼d 244002
041 1 ▼a kor ▼h eng
082 0 4 ▼a 005.133 ▼2 22
090 ▼a 005.133 ▼b J41 2009z13
100 1 ▼a Bloch, Joshua
245 1 0 ▼a 이펙티브 자바 / ▼d Joshua Bloch 지음; ▼e 심재철 옮김.
246 1 9 ▼a Effective Java programming language guide. - 2nd ed.
260 ▼a 서울 : ▼b 대웅 , ▼c 2009.
300 ▼a xiii, 460 p. : ▼b 삽도 ; ▼c 24 cm.
440 1 0 ▼a (The)Java series
500 ▼a 부록: 제1판과의 항목 대비
504 ▼a 참고문헌(p. [445]-450)및 찾아보기(p. 451-460)수록
653 ▼a 자바 ▼a Java
700 1 ▼a 심재철 , ▼e 옮김

Holdings Information

No. Location Call Number Accession No. Availability Due Date Make a Reservation Service
No. 1 Location Sejong Academic Information Center/Science & Technology/ Call Number 005.133 J41 2009z13 Accession No. 151276133 Availability Available Due Date Make a Reservation Service C M

Contents information

Book Introduction

효율적이고 잘 설계된 자바 프로그램을 작성할 수 있는 실전적인 지침을 제공하는 책이다. 이 책의 각 장은 여러 개의 '항목'으로 구성되어 있으며, 각 항목은 자바 플랫폼을 파헤치는 조언과 실전적인 코드 예를 제공하면서 간결하고 독립적인 설명을 하는 형태로 되어 있다.

각 항목에 대한 설명을 통해서 해야 할 것과 하지 말아야 할 것, 그리고 왜 그래야 하는지를 명확하게 알 수 있다. 이 책에는 필수 불가결한 프로그래머의 산 경험이 78개의 항목으로 녹아있어 우리가 매일 접하는 자바 프로그래밍의 과제들에 대해 실전적인 최적의 솔루션을 제공한다.

더 명쾌하고, 더 정확하고, 더 강력하고, 재사용 가능한 코드를 작성하기 위해 자바 프로그래밍 언어를 좀 더 깊게 이해할 수 있는 책을 찾으십니까? 더 이상 찾지 마십시오! 이펙티브 자바 제2판이 있습니다. 이 책에는 필수 불가결한 프로그래머의 산 경험이 78개의 항목으로 녹아있습니다. 우리가 매일 접하는 자바 프로그래밍의 과제들에 대해 실전적인 최적의 솔루션을 제공합니다.

소프트웨어 분야의 최고 영예인 Jolt Award 상을 수상한 이 책은 제1판 출간 이후 새롭게 소개된 자바 SE5와 자바 SE6의 내용을 다루기 위해 완전히 개정되었습니다. 이 책의 저자인 Joshua Bloch가 새로운 디자인 패턴과 자바 언어 이디엄을 탐구하여 제네릭에서 enum까지, 그리고 주석에서 오토박싱까지 대부분의 새로운 기능을 어떻게 사용하는지를 보여줍니다.

이 책의 각 장은 여러 개의 "항목"으로 구성되어 있으며, 각 항목에서는 자바 플랫폼의 오묘함을 파헤치는 조언과 실전적인 코드 예를 제공하면서 간결하고 독립적인 설명을 하는 형태로 되어 있습니다. 각 항목의 이해하기 쉬운 설명을 통해서 해야 할 것과 하지 말아야 할 것, 그리고 왜 그래야 하는지를 명확하게 알 수 있습니다.

이 책의 가장 중요한 내용을 요약하면 다음과 같습니다.
? 제네릭, enum, 주석, 오토박싱, for-each 루프, 가변인자, 동시성 등의 새로운 기능을 효과적으로 사용하는 방법
? 객체, 클래스, 라이브러리, 메소드, 직렬화를 포함해서 종전의 내용에 대한 기법과 경험을 대폭 보완
? 언어에 대한 흔한 오해로 인해 생길 수 있는 함정이나 오류를 피하는 방법
? 언어와 가장 기본적인 라이브러리(java.lang, java.util, java.util.concurrent, java.io)의 실전 활용 시 필요한 깊이 있는 고찰과 기법 소개

한마디로 말해, 이펙티브 자바 제2판은 효율적이고 잘 설계된 자바 프로그램을 작성할 수 있는 가장 실전적이고 믿을만한 지침을 제공합니다.


Information Provided By: : Aladin

Author Introduction

조슈아 블로크(지은이)

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

심재철(옮긴이)

현재 프리랜서로, 데이터베이스/모바일 시스템 관련 컨설팅과 번역을 하고 있다. 또한, 20년 넘게 데이터베이스와 객체지향 시스템 설계 및 개발 프로젝트와 건설/금융 분야 애플리케이션 개발 등에 참여했다. 새로운 테크놀로지와 다양한 프로그래밍 언어를 사용해서 실무에 활용하고 가르치는 것을 좋아한다. 저서로는 《핵심만 골라 배우는 코틀린 프로그래밍》이 있으며, 번역서로는 《스프링 인 액션(제5판)》, 《카프카 핵심 가이드》, 《핵심만 골라 배우는 안드로이드 스튜디오 3 & 프로그래밍》, 《실무에 적용하는 안드로이드 프로그래밍(제2판)》, 《Learn Android Studio》, 《SQLite 마스터북(제2판)》, 《프로 오브젝티브-C 디자인 패턴》, 《세븐 데이터베이스》, 《UML 사용자 지침서》, 《Thinking in JAVA 4/e》, 《이펙티브 자바》 등이 있다.

Information Provided By: : Aladin

Table of Contents

추천서문	v 
저자서문	vii 
역자서문	xi 
CHAPTER 1 개요	1 
CHAPTER 2 객체의 생성과 소멸목 차 
7 
[항목 1] 생성자 대신 static 팩토리(factory) 메소드 사용을 고려하자	7 
[항목 2] 생성자의 매개변수가 많을 때는 빌더(builder)를 고려하자	15 
[항목 3] private 생성자나 enum 타입을 사용해서 싱글톤의 특성을 유지하자	24 
[항목 4] private 생성자를 사용해서 인스턴스 생성을 못하게 하자	27 
[항목 5] 불필요한 객체의 생성을 피하자	29 
[항목 6] 쓸모 없는 객체 참조를 제거하자	35 
[항목 7] 파이널라이저(finalizer)의 사용을 피하자	40 
CHAPTER 3 모든 객체에 공통적인 메소드	47 
[항목 8] equals 메소드를 오버라이딩 할 때는 보편적 계약을 따르자	48 
[항목 9] equals 메소드를 오버라이드 할 때는 hashCode 메소드도 항상 같이 오버라이드 하자	65 
[항목 10] toString 메소드는 항상 오버라이드 하자	73 
[항목 11] clone 메소드는 신중하게 오버라이드 하자	76 
[항목 12] Comparable 인터페이스의 구현을 고려하자	88 
CHAPTER 4 클래스와 인터페이스	95 
[항목 13] 클래스와 그 멤버의 접근성을 최소화하자	95 
[항목 14] public 클래스에서는 public 필드가 아닌 접근자(accessor) 메소드를 사용한다	100 
[항목 15] 가변성을 최소화 하자	103 
[항목 16] 가급적 상속(inheritance)보다는 컴포지션(composition)을 사용하자	112 
[항목 17] 상속을 위한 설계와 문서화를 하자. 그렇지 않다면 상속의 사용을 금지시킨다	120 
[항목 18] 추상 클래스보다는 인터페이스를 사용하자목 차 
127 
[항목 19] 타입을 정의할 때만 인터페이스를 사용하자	134 
[항목 20] 태그(tagged) 클래스보다는 클래스 계층을 사용하자	137 
[항목 21] 전략을 표현할 때 함수 객체를 사용하자	141 
[항목 22] static 멤버 클래스를 많이 사용하자	145 
CHAPTER 5 제네릭(Generics)	149 
[항목 23] 새로 작성하는 코드에서는 원천(raw) 타입을 사용하지 말자	149 
[항목 24] 컴파일 경고 메시지가 없게 하자	158 
[항목 25] 배열보다는 List를 사용하자	162 
[항목 26] 제네릭 타입을 애용하자	169 
[항목 27] 제네릭 메소드를 애용하자	176 
[항목 28] 바운드 와일드 카드를 사용해서 API의 유연성을 높이자	183 
[항목 29] 타입 안전이 보장되는 혼성(heterogeneous) 컨테이너의 사용을 고려하자	193 
CHAPTER 6 열거형(Enum)과 주석(Annotation)	201 
[항목 30] int 상수 대신 enum을 사용하자	201 
[항목 31] 서수(序數) 대신 인스턴스 필드를 사용하자	215 
[항목 32] 비트(bit) 필드 대신 EnumSet을 사용하자	217 
[항목 33] 서수(序數) 인덱스 대신 EnumMap을 사용하자	220 
[항목 34] 인터페이스를 사용해서 확장 가능한 enum을 만들자	225 
[항목 35] 작명 패턴보다는 주석(annotation)을 사용하자	230 
[항목 36] Override 주석을 일관성 있게 사용하자	239 
[항목 37] 타입 정의는 표시 인터페이스를 사용하자	243 
CHAPTER 7 메소드(method)	247 
[항목 38] 매개 변수가 유효한지 검사하자	247 
[항목 39] 필요하면 방어 복사본을 만들자	251 
[항목 40] 메소드 시그니처를 신중하게 설계하자	257 
[항목 41] 오버로딩(overloading)을 분별력 있게 사용하자	260 
[항목 42] 가변 인자(varargs)를 분별력 있게 사용하자	268 
[항목 43] null대신 비어있는 배열이나 컬렉션을 반환하자	274 
[항목 44] 외부에 제공하는 모든 API 요소에 대해 문서화 주석을 넣자	277 
CHAPTER 8 프로그래밍 일반	285 
[항목 45] 지역 변수의 유효 범위를 최소화 하자	285 
[항목 46] 종전의 for 루프보다는 for-each 루프를 사용하자	289 
[항목 47] 라이브러리를 배우고 사용하자	293 
[항목 48] 정확한 계산에는 float나 double 타입을 쓰지 말자	297 
[항목 49] 박스화 기본형보다는 기본형을 사용하자	300 
[항목 50] 다른 타입을 쓸 수 있는 곳에서는 String 사용을 피하자	304 
[항목 51] 문자열 결합의 성능 저하를 주의하자	308 
[항목 52] 객체 참조는 그 객체의 인터페이스 타입으로 하자	310 
[항목 53] 리플렉션보다는 인터페이스를 사용하자	313 
[항목 54] 네이티브 메소드를 분별력 있게 사용하자	317 
[항목 55] 잘 판단해서 최적화하자	319 
[항목 56] 보편화된 작명 규칙을 따르자	323 
CHAPTER 9 예외(Exceptions)	327 
[항목 57] 예외 상황에서만 예외를 사용하자	327 
[항목 58] 복구 가능 상황에는 checked 예외를 사용하고 런타임 예외는 프로그램 에러에 사용하자	331 
[항목 59] checked 예외의 불필요한 사용을 피하자	334 
[항목 60] 표준 예외를 사용하자	337 
[항목 61] 하위 계층의 예외 처리를 신중하게 하자	340 
[항목 62] 메소드가 던지는 모든 예외를 문서화하자	344 
[항목 63] 실패 상황 정보를 상세 메시지에 포함하자	346 
[항목 64] 실패 원자성을 갖도록 노력하자	349 
[항목 65] 예외를 묵살하지 말자	351 
CHAPTER 10 동시성(Concurrency)	353 
[항목 66] 공유하는 가변 데이터에 접근 시 동기화하자	353 
[항목 67] 지나친 동기화는 피하자	361 
[항목 68] 스레드 그룹보다는 실행자와 작업을 사용하자	369 
[항목 69] wait와 notify 대신 동시성 유틸리티를 사용하자	372 
[항목 70] 스레드 안전을 문서화 하자	379 
[항목 71] 늦 초기화를 분별력 있게 사용하자	383 
[항목 72] 스레드 스케줄러에 의존하지 말자	387 
[항목 73] 스레드 그룹을 사용하지 말자	390 
CHAPTER 11 직렬화(Serialization)	393 
[항목 74] Serializable 인터페이스를 분별력 있게 구현하자	393 
[항목 75] 독자적인 직렬화 형태의 사용을 고려하자	400 
[항목 76] 방어 가능한 readObject 메소드를 작성하자	408 
[항목 77] 인스턴스 제어에는 readResolve 메소드보다 enum 타입을 사용하자	416 
[항목 78] 직렬화된 인스턴스 대신 직렬화 프록시의 사용을 고려하자	422 

번역 용어 목록	427 
부록:제1판과의 항목 대비	441	
참고문헌	445 
찾아보기	451

New Arrivals Books in Related Fields

한국정보기술연구원 (2022)
한국정보기술연구원 (2021)
Lerner, Reuven (2021)
천인국 (2022)