목차
제1장 객체 지향 프로그래밍의 기초 지식
   1-1 객체 지향 프로그래밍의 중요성 ... 15
      프로그램의 복잡화 ... 16
      구조화 프로그래밍의 문제점 ... 18
      객체 지향 프로그래밍에 의한 해결 ... 19
   1-2 객체 지향 프로그래밍의 구현 방법 ... 23
      클래스의 정의와 클래스의 상속 ... 24
      캡슐화 ... 28
      다양성 ... 30
   1-3 C 언어에서 C++로, C++에서 Java로 ... 34
      C 언어의 특징 ... 35
      구조체 ... 37
      C++=C 언어+클래스 ... 44
      Java와 C 언어, C++과의 차이 ... 47
   연습문제 ... 51
제2장 Java 애플릿 ... 53
   2-1 Java 애플릿의 기본 구조 ... 55
      Applet 클래스의 상속 ... 56
      특수한 메소드의 오버라이드 ... 58
      Java 애플릿과 HTML 파일 ... 68
   2-2 문자열의 표시 ... 75
      문자열 표시와 색 설정 ... 76
      글꼴 설정 ... 82
      표시 위치의 설정 ... 87
   2-3 그래픽 그리기 ... 91
      그래픽을 그리는 메소드 ... 91
      Java 애플릿이 실행될 영역 크기의 취득 ... 95
   연습문제 ... 100
제3장 Java 클래스와 인스턴스 ... 103
   3-1 클래스의 개요 ... 105
      클래스를 만드는 방법과 사용하는 방법 ... 106
      클래스 만들기 ... 106
      클래스 사용하기 ... 108
   3-2 클래스의 정의 ... 114
      필드의 정의 ... 115
      메소드 정의 ... 116
      생성자의 정의 ... 121
      정적 필드와 정적 메소드 ... 123
   3-3 인스턴스의 작성 ... 128
      인스턴스와 참조 ... 129
      배열과 참조 ... 134
      가비지 컬렉션 ... 137
   연습문제 ... 143
제4장 상속 ... 145
   4-1 상속의 기본 ... 147
      상속에 의한 효율화 ... 147
      상속에서 생성자 취급 방법 ... 152
      is-a 관계와 has-a 관계1 ... 156
   4-2 메소드의 상속 ... 161
      메소드의 오버라이드 ... 162
      추상 메소드의 정의 ... 167
      java.lang.Object 클래스의 메소드 ... 171
   연습문제 ... 176
제5장 인터페이스 ... 179
   5-1 인터페이스의 기본 ... 181
      인터페이스란? ... 181
      인터페이스의 구현 ... 185
      인터페이스의 상속 ... 189
   5-2 멀티스레드 ... 194
      멀티스레드란? ... 195
      Thread 클래스와 Runnable 인터페이스 ... 197
      동기화의 필요성 ... 205
   연습문제 ... 213
제6장 다양성과 캡슐화 ... 217
   6-1 다양성 ... 219
      오버로드에 의한 다양성 ... 220
      생성자의 오버로드 ... 223
      오버라이드에 의한 다양성 ... 229
      패키지 ... 236
   6-2 캡슐화 ... 238
      필드를 보호하기 위한 캡슐화 ... 239
      클래스의 독립성을 높이기 위한 캡슐화 ... 244
      클래스 안에서만 사용되는 필드 메소드 ... 250
      액세스 제어 ... 253
   연습문제 ... 257
제7장 이벤트 처리와 GUI ... 261
   7-1 이벤트 처리 ... 263
      이벤트란? ... 264
      대형 이벤트 모델 ... 266
      어댑터 클래스와 내부 클래스 ... 272
   7-2 GUI ... 276
      GUI를 구현하기 위한 컴포넌트 ... 277
      레이블, 단추 및 텍스트 필드의 사용 방법 ... 280
      레이아웃 매니저에 의한 컴포넌트의 배치 ... 287
      패널에 의한 컴포넌트의 배치 ... 296
   연습문제 ... 299
제8장 객체 지향 프로그래밍의 실제 사례 ... 301
   8-1 통계 계산 클래스의 작성 ... 303
      사양의 결정 ... 304
      프로그램의 설계 ... 307
      프로그래밍 ... 310
      테스트 ... 321
   8-2 블랙잭의 작성 ... 326
      사양의 결정 ... 327
      프로그램의 설계 ... 329
      프로그래밍 ... 333
      테스트 ... 341
   연습문제 ... 346
2부를 마치며 ... 348
닫기