가입하고 포인트 받기
JAVA의 정석
남궁성 지음
도우출판
 펴냄
30,000 원
0원 
앱에서 포인트받고 구매
960쪽 | 2010-01-29
분량 두꺼운책 | 난이도 보통인책
상세 정보
자바의 기초부터 객체지향개념을 넘어 실전까지를 담은 책. 저자의 10년이 넘는 실무경험과 강의 그리고 온라인 카페를 운영하면서 강의한 내용을 책으로 엮은 것이기 때문에 자바를 처음 배우는 회원들의 의견과 궁금한 점들을 빠짐없이 담고 있다. <BR> <BR> 자바를 소개하는데 그치지 않고 프로그래머로써 꼭 알아야하는 내용들을 체계적으로 정리하였으며 150페이지에 달하는 지면을 객체지향개념에 할애함으로써 이 책 한 권이면 객체지향개념을 완전히 이해할 수 있도록 원리중심으로 설명하고 있다. 또, 자바를 실무에서 바로 활용할 수 있도록 자주 사용되는 핵심 클래스들을 150페이지 분량의 원리설명과 실무 예제로 자세히 소개하고 있어서 기본 개념만을 익히는데 그치지 않고 실무에 바로 적용할 수 있는 능력이 길러지도록 했다. 저자가 직접 인터넷 카페를 통해 동영상 강좌를 지속적으로 업데이트하여 제공하고 질문게시판을 운영하기 때문에 독자들이 혼자서도 충분히 학습할 수 있도록 다방면으로 배려하고 있다. 별책 강의발표자료(p.238)를 부록으로 제공해서 학습한 내용을 요약 및 복습할 수있기 때문에 학습효과를 극대화 할 수 있도록 했다.<BR> <BR> 2판에서는 세가지 주요한 변화가 있는데, 첫 째로 각 장마다 연습문제가 추가되어 학습한 내용을 스스로 점검하고 응용할 수 있도록 했다. 둘 째, 1판에서는 비교적 소홀히 다루었던 제네릭스(generic)에 대한 설명을 보충하였다. 셋 째, 별책부록을 동영상강의에 사용된 강의발표자료로 대체하여 Java의 전체적인 틀을 이해하고 요약할 수 있도록 하였다. 그 외에도 1판에서 부족했던 설명과 그림, 예제들을 보충하고 오타를 점검하였다.
더보기
목차

Chapter 1 자바를 시작하기 전에
1. 자바(Java Programming Language)
1.1 자바란?
1.2 자바의 역사
1.3 자바언어의 특징
1.4 JVM(Java Virtual Machine)
2. 자바개발환경 구축하기
2.1 자바 개발도구(JDK)설치하기
2.2 Java API문서 설치하기
3. 자바로 프로그램작성하기
3.1 Hello.java
3.2 자주 발생하는 에러와 해결방법
3.3 자바프로그램의 실행과정
3.4 주석(comment)

Chapter 2 변수(Variable)
1. 변수(variable)
1.1 변수란?
1.2 변수의 선언
1.3 명명규칙(naming convention)
2. 변수의 타입
2.1 기본형(primitive type)
2.2 논리형 - boolean
2.3 문자형 - char
2.4 정수형 - byte, short, int, long
2.5 실수형 - float, double
3. 형변환 / 34
3.1 형변환(캐스팅, casting)이란?
3.2 형변환 방법
3.3 기본형의 형변환

Chapter 3 연산자(Operator)
1. 연산자(operator)
2. 단항 연산자
2.1 증감 연산자 - ++, --
2.2 부호 연산자 - +, -
2.3 비트전환 연산자 - ~
2.4 논리부정 연산자 - !
3. 산술 연산자 / 52
3.1 사칙 연산자 - +, -, *, /
3.2 나머지 연산자 - %
3.3 쉬프트 연산자 - <<, >>, >>>
4. 비교 연산자 / 66
4.1 대소비교 연산자 - <, >, <=, >=
4.2 등가비교 연산자 - ==, !=
5. 논리 연산자 / 69
5.1 논리 연산자 - &&, ||
5.2 비트 연산자 - &, |, ^
6. 그 외의 연산자 / 72
6.1 삼항 연산자 - ? :
6.2 대입 연산자 - =, op=

Chapter 4 조건문과 반복문
1. 조건문 - if, switch
1.1 if문
1.2 중첩 if문
1.3 switch문
2. 반복문 - for, while, do-while
2.1 for문
2.2 while문
2.3 do-while문
2.4 break문
2.5 continue문
2.6 이름 붙은 반복문

Chapter 5 배열(Array)
1. 배열(array)
1.1 배열(array)이란?
1.2 배열의 선언
1.3 배열의 생성
1.4 배열의 초기화
1.5 배열의 활용
1.6 다차원 배열
1.7 가변 배열
1.8 배열의 복사
1.9 커맨드라인을 통해 입력받기

Chapter 6 객체지향 프로그래밍 I
1. 객체지향언어
1.1 객체지향언어의 역사
1.2 객체지향언어
2. 클래스와 객체
2.1 클래스와 객체의 정의와 용도
2.2 객체와 인스턴스
2.3 객체의 구성요소 - 속성과 기능
2.4 인스턴스의 생성과 사용
2.5 클래스의 또 다른 정의
3. 변수와 메서드
3.1 선언위치에 따른 변수의 종류
3.2 클래스변수와 인스턴스변수
3.3 메서드
3.4 return문
3.5 메서드의 호출
3.6 JVM의 메모리구조
3.7 기본형 매개변수와 참조형 매개변수
3.8 재귀호출(recursive call)
3.9 클래스메서드(static메서드)와 인스턴스메서드
3.10 클래스멤버와 인스턴스멤버간의 참조와 호출
4. 메서드 오버로딩(method overloading)
4.1 메서드 오버로딩이란?
4.2 오버로딩의 조건
4.3 오버로딩의 예
4.4 오버로딩의 장점
5. 생성자(constructor)
5.1 생성자란?
5.2 기본 생성자(default constructor)
5.3 매개변수가 있는 생성자
5.4 생성자에서 다른 생성자 호출하기 - this(), this
5.5 생성자를 이용한 인스턴스의 복사
6. 변수의 초기화
6.1 변수의 초기화
6.2 명시적 초기화(explicit initialization)
6.3 초기화 블럭(initialization block)
6.4 멤버변수의 초기화 시기와 순서

Chapter 7 객체지향 프로그래밍 II
1. 상속(inheritance)
1.1 상속의 정의와 장점
1.2 클래스간의 관계 - 포함관계
1.3 클래스간의 관계 결정하기
1.4 단일상속(single inheritance)
1.5 Object클래스 - 모든 클래스의 조상
2. 오버라이딩(overriding)
2.1 오버라이딩이란?
2.2 오버라이딩의 조건
2.3 오버로딩 vs. 오버라이딩
2.4 super
2.5 super() - 조상 클래스의 생성자
3. package와 import
3.1 패키지(package)
3.2 패키지의 선언
3.3 import문
3.4 import문의 선언
4. 제어자(modifier)
4.1 제어자란?
4.2 static - 클래스의, 공통적인
4.3 final - 마지막의, 변경될 수 없는
4.4 생성자를 이용한 final 멤버변수 초기화
4.5 abstract - 추상의, 미완성의
4.6 접근 제어자(access modifier)
4.7 접근 제어자를 이용한 캡슐화
4.8 생성자의 접근 제어자
4.9 제어자(modifier)의 조합
5. 다형성(polymorphism)
5.1 다형성이란?
5.2 참조변수의 형변환
5.3 instanceof연산자
5.4 참조변수와 인스턴스의 연결
5.5 매개변수의 다형성
5.6 여러 종류의 객체를 하나의 배열로 다루기
6. 추상클래스(abstract class)
6.1 추상클래스란?
6.2 추상메서드(abstract method)
6.3 추상클래스의 작성
7. 인터페이스(interface)
7.1 인터페이스란?
7.2 인터페이스의 작성
7.3 인터페이스의 상속
7.4 인터페이스의 구현
7.5 인터페이스를 이용한 다중상속
7.6 인터페이스를 이용한 다형성
7.7 인터페이스의 장점
7.8 인터페이스의 이해

Chapter 8 예외처리(Exception Handling)
1. 예외처리(exception handling)
1.1 프로그램 오류
1.2 예외처리의 정의와 목적
1.3 예외처리구문 - try-catch
1.4 try-catch문에서의 흐름
1.5 예외 발생시키기
1.6 예외 클래스의 계층구조
1.7 예외의 발생과 catch블럭
1.8 finally블럭
1.9 메서드에 예외 선언하기
1.10 예외 되던지기(exception re-throwing)
1.11 사용자정의 예외 만들기

Chapter 9 java.lang패키지
1. Object클래스
1.1 equals메서드
1.2 hashCode메서드
1.3 toString메서드
1.4 clone메서드
2. String클래스
2.1 String클래스의 특징
2.2 빈 문자열(empty string)
2.3 String클래스의 생성자와 메서드
3. StringBuffer클래스
3.1 StringBuffer클래스의 특징
3.2 StringBuffer클래스의 생성자
3.3 StringBuffer인스턴스의 비교
3.4 StringBuffer클래스의 메서드
4. Math클래스
4.1 Math클래스
4.2 Math클래스의 메서드
5. wrapper클래스
5.1 wrapper클래스
5.2 Number클래스

Chapter 10 내부 클래스
1. 내부 클래스(inner class)란?
2. 내부 클래스의 종류와 특징
3. 내부 클래스의 선언
4. 내부 클래스의 제어자와 접근성
5. 익명 클래스(anonymous class)

Chapter 11 컬렉션 프레임웍과 유용한 클래스
1. 컬렉션 프레임웍(Collection Framework)
1.1 컬렉션 프레임웍의 핵심 인터페이스 - List, Set, Map
1.2 동기화(Synchronization)
1.3 Vector와 ArrayList
1.4 LinkedList
1.5 Stack과 Queue
1.6 Enumeration, Iterator, ListIterator
1.7 HashSet
1.8 TreeSet
1.9 Comparator와 Comparable
1.10 Hashtable과 HashMap
1.11 TreeMap
1.12 Properties
1.13 컬렉션 클래스 정리 & 요약
2. 유용한 클래스들
2.1 Calendar와 Date
2.2 Random
2.3 정규식(Regular Expression) - Pattern. Match
2.4 Scanner
2.5 StringTokenizer
3. 형식화 클래스
3.1 DecimalFormat
3.2 SimpleDateFormat
3.3 ChoiceFormat
3.4 MessageFormat
4. 제네릭스(Generics)
4.1 ArrayList
4.2 Iterator
4.3 Comparable과 Collections.sort()
4.4 HashMap

Chapter 12 쓰레드(thread)
1. 프로세스와 쓰레드
2. 쓰레드의 구현과 실행
3. start()와 run()
4. 싱글쓰레드와 멀티쓰레드
5. 쓰레드의 우선순위
6. 쓰레드 그룹(thread group)
7. 데몬 쓰레드(daemon thread)
8. 쓰레드의 실행제어
9. 쓰레드의 동기화
9.1 synchronized를 이용한 동기화
9.2 wait()과 notify()

Chapter 13 AWT(Abstract Window Toolkit)
1. AWT
1.1 AWT란?
1.2 AWT의 구성
1.3 컴포넌트(Component)
1.4 컨테이너(Container)
2. AWT의 주요 컴포넌트
2.1 Frame
2.2 Button
2.3 Choice
2.4 List
2.5 Label
2.6 Checkbox
2.7 TextField
2.8 TextArea
2.9 Scrollbar
2.10 Canvas
2.11 Panel
2.12 ScrollPane
2.13 Dialog
2.14 FileDialog
3. 그 외의 AWT 클래스
3.1 Font
3.2 Color
4. 메뉴만들기
4.1 메뉴를 구성하는 컴포넌트
4.2 PopupMenu
5. 레이아웃 매니저
5.1 레이아웃 매니저를 이용한 컴포넌트 배치
5.2 BorderLayout
5.3 FlowLayout
5.4 GridLayout
5.5 CardLayout
6. 이벤트 처리(Event Handling)
6.1 이벤트(Event)란?
6.2 이벤트의 발생과 처리
6.3 이벤트 처리방법
6.4 Adapter클래스
7. AWT의 그래픽
7.1 paint()와 Graphics
7.2 AWT쓰레드와 repaint()
7.3 Image를 이용해서 이미지 출력하기
8. 애플릿(Applet)
8.1 애플릿(Applet)이란?
8.2 Applet의 생명주기(Life cycle)와 주요 메서드
8.3 Applet의 보안 제약(Security restriction)
8.4 Applet과 HTML태그

Chapter 14 입출력(I/O)
1. 자바에서의 입출력
1.1 입출력이란?
1.2 스트림(stream)
1.3 바이트기반 스트림 - InputStream, OutputStream
1.4 보조스트림
1.5 문자기반 스트림 - Reader, Writer
2. 바이트기반 스트림
2.1 InputStream과 OutputStream
2.2 ByteArrayInputStream과 ByteArrayOutputStream
2.3 FileInputStream과 FileOutputStream
3. 바이트기반의 보조스트림
3.1 FilterInputStream과 FilterOutputStream
3.2 BufferedInputStream과 BufferedOutputStream
3.3 DataInputStream과 DataOutputStream
3.4 SequenceInputStream
3.5 PrintStream
4. 문자기반 스트림
4.1 Reader와 Writer
4.2 FileReader와 FileWriter
4.3 PipedReader와 PipedWriter
4.4 StringReader와 StringWriter
5. 문자기반의 보조스트림
5.1 BufferedReader와 BufferedWriter
5.2 InputStreamReader와 OutputStreamWriter
6. 표준입출력과 File
6.1 표준입출력 - System.in, System.out, System.err
6.2 표준입출력의 대상변경 - setOut(), setErr(), setIn()
6.3 RandomAccessFile
6.4 File
7. 직렬화(Serialization)
7.1 직렬화란?
7.2 ObjectInputStream과 ObjectOutputStream
7.3 직렬화가 가능한 클래스 만들기 - Serializable, transient
7.4 직렬화가능한 클래스의 버전관리

Chapter 15 네트워킹(Networking)
1. 네트워킹(Networking)
1.1 클라이언트/서버(client/sever)
1.2 IP주소(IP address)
1.3 InetAddress
1.4 URL(Uniform Resource Location)
1.5 URLConnection
2. 소켓 프로그래밍
2.1 TCP와 UDP
2.2 TCP소켓 프로그래밍
2.3 UDP소켓 프로그래밍

부록 - JDK 1.5에 추가된 기능
1. 향상된 for문
2. 오토박싱(autoboxing)
3. 타입에 안전한 열거형(Typesafe enums)
4. 가변인수(Varargs)
5. static import문
6. StringBuilder

더보기
저자 정보
남궁성
인하대학교에서 물리학을 전공하였으며, 1996년 삼성SDS에서 첫 직장생활을 시작했다. 삼성멀티캠퍼스에서 강의하였으며, 여러 직장을 거쳐 현재는 프리랜서로 집필과 강의를 하고 있다. http://www.codechobo.com 을 운영하고 있으며 책관련 문의에 직접 답변해주고 있다. 저서로는 수 년간 베스트 셀러의 자리를 지켜온 'Java의 정석(3판)'이 있다.
더보기
남긴 글 0
앱에서 바로 보기