목차
1. 자바언어 소개 ... 9
   1.1 자바의 역사 ... 10
   1.2 자바란? ... 12
   1.3 자바 가상 기계(Java Virtual Machine) ... 13
   1.4 자바의 특징 ... 16
   1.5 자바에서 제거된 C/C++ 기능들 ... 19
   1.6 자바 개발 도구(JDK)의 변천 ... 20
2. 자바 설치 ... 23
   2.1 JDK 다운 로드 ... 24
   2.2 JDK 설치 ... 28
   2.3 JDK 1.3.1 문서 설치 ... 36
   2.4 JDK 1.3.1 소스 파일 설치 ... 46
   2.5 JDK 1.3.1 환경설정 ... 48
      2.5.1 PATH 설정 ... 49
      2.5.2 CLASSPATH 설정 ... 54
   2.6 DEMO 프로그램 실행 ... 56
3. 자바 프로그램 시작 ... 61
   3.1 자바 애플리케이션 프로그램 ... 62
      3.1.1 도스 실행환경에서 자바 애플리케이션 소스의 컴파일과 실행 ... 64
      3.1.2 kawa에서 자바 애플리케이션 소스의 컴파일과 실행 ... 66
   3.2 자바 애플릿 프로그램 ... 70
      3.2.1 도스 실행환경에서 자바 애플릿 소스의 컴파일과 실행 ... 72
      3.2.2 kawa에서 자바 애플릿 소스의 컴파일과 실행 ... 76
   3.3 JDK1.3.1 실행파일의 옵션 ... 78
      3.3.1 javac : 컴파일러 ... 78
      3.3.2 java : 인터프리터 ... 80
      3.3.3 appletviewer : 애플릿 실행기 ... 81
      3.3.4 javah : 헤더 파일 생성기 ... 82
      3.3.5 jar : 압축 파일 생성기 ... 83
      3.3.6 javap : 자바 역어셈블러 ... 84
      3.3.7 jdb : 자바 디버거 ... 84
4. 자바 프로그램 기본 문법 ... 87
   4.1 자바 프로그램 구조 ... 88
   4.2 토큰과 주석문 ... 89
      4.2.1 토큰(Token) ... 89
      4.2.2 주석문(Comment) ... 90
   4.3 키워드와 리터럴 ... 93
      4.3.1 키워드(Keyword) ... 93
      4.3.2 식별자(Identifier) ... 93
      4.3.3 리터럴(Literal) ... 94
   4.4 자바의 기본 자료형 ... 97
      4.4.1 정수형 ... 97
      4.4.2 실수 자료형 ... 98
      4.4.3 논리 자료형 ... 98
      4.4.4 문자 자료형 ... 98
   4.5 자바의 연산자 ... 101
      4.5.1 산술 연산자 ... 101
      4.5.2 관계 연산자 ... 103
      4.5.3 논리 연산자 ... 104
      4.5.4 비트 연산자 ... 105
      4.5.5 증감 연산자 ... 109
      4.5.6 대입 및 축약 연산자 ... 110
      4.5.7 조건 연산자 ... 114
      4.5.8 변환 연산자 ... 115
      4.5.9 instanceof 연산자 ... 116
      4.5.10 연산자 우선순위 ... 117
5. 자바 프로그램의 제어 ... 119
   5.1 제어문 소개 ... 120
   5.2 조건문 ... 120
      5.2.1 if ~ else문 ... 121
      5.2.2 switch문 ... 125
   5.3 반복문 ... 127
      5.3.1 for문 ... 127
      5.3.2 while문 ... 131
      5.3.3 do ~ while문 ... 133
   5.4 분기문 ... 134
      5.4.1 break문 ... 134
      5.4.2 continue문 ... 136
      5.4.3 return문 ... 138
6. 배열과 문자열 ... 141
   6.1 일차원 배열 ... 142
      6.1.1 일차원 배열의 선언 ... 142
      6.1.2 일차원 배열의 생성 ... 143
      6.1.3 일차원 배열 원소의 사용 ... 144
      6.1.4 일차원 배열의 초기화 ... 145
   6.2 다차원 배열 ... 148
      6.2.1 다차원 배열의 선언 ... 148
      6.2.2 다차원 배열의 생성 ... 149
      6.2.3 다차원 배열의 초기화 ... 151
   6.3 객체로서의 배열 ... 153
   6.4 배열의 이용 ... 155
      6.4.1 배열의 복사 ... 155
      6.4.2 배열의 대입문 ... 156
      6.4.3 행렬의 곱 ... 158
   6.5 문자열 ... 161
      6.5.1 문자열 생성 ... 161
      6.5.2 문자열 합성 ... 162
      6.5.3 StringBuffer 클래스 ... 163
7. 클래스와 객체 ... 165
   7.1 객체지향의 개념 ... 166
      7.1.1 객체와 클래스란? ... 166
      7.1.2 클래스의 상속 ... 168
      7.1.3 클래스의 다중상속 ... 169
      7.1.4 클래스의 다형성 ... 170
   7.2 클래스의 정의 ... 171
      7.2.1 클래스 정의구문 ... 171
      7.2.2 클래스 상속 ... 173
      7.2.3 멤버필드 ... 174
      7.2.4 메소드 ... 175
      7.2.5 생성자 ... 177
      7.2.6 참조권한자 ... 179
   7.3 객체의 생성 ... 181
      7.3.1 객체의 선언 ... 182
      7.3.2 객체의 할당 ... 182
      7.3.3 생성자 ... 183
      7.3.4 정적 초기화 ... 186
      7.3.5 finalize 메소드 ... 188
      7.3.6 transient, volatile 멤버필드 ... 189
      7.3.7 super ... 189
      7.3.8 final 키워드 ... 191
      7.3.9 static 멤버필드와 메소드 ... 194
   7.4 매개변수의 전달 ... 196
      7.4.1 값에 의한 호출 ... 197
      7.4.2 참조에 의한 호출 ... 198
      7.4.3 main() 메소드 ... 199
8. 다형성과 내부 클래스 ... 201
   8.1 오버로딩 ... 202
   8.2 오버라이딩 ... 206
   8.3 추상클래스(Abstract) ... 210
   8.4 인터페이스(Interface) ... 212
      8.4.1 인터페이스 선언 ... 213
      8.4.2 인터페이스 상속 ... 214
      8.4.3 인터페이스 구현 ... 217
   8.5 객체의 형변환 ... 223
   8.6 내부 클래스 ... 229
      8.6.1 중첩 클래스(Nested class) ... 229
      8.6.2 멤버 클래스(Member class) ... 231
      8.6.3 지역 클래스(Local class) ... 232
      8.6.4 무명 클래스(Anonymous class) ... 234
9. 윈도우용 프로그램 작성 ... 237
   9.1 자바의 AWT 패키지 ... 238
   9.2 AWT 컴포넌트 ... 239
      9.2.1 프레임(Frame) ... 239
      9.2.2 버튼(Button) ... 243
      9.2.3 체크박스(Checkbox) ... 245
      9.2.4 라디오 버튼(Radio Button) ... 247
      9.2.5 선택박스(ChoiceBox) ... 249
      9.2.6 리스트(List) ... 253
      9.2.7 레이블(Label) ... 257
      9.2.8 텍스트 필드(TextField) ... 260
      9.2.9 텍스트 영역(TextArea) ... 264
      9.2.10 컨테이너(Container) ... 267
      9.2.11 패널(Panel) ... 268
      9.2.12 스크롤 팬(ScrollPane) ... 271
      9.2.13 캔버스(Canvas) ... 275
      9.2.14 스크롤바(Scrolbar) ... 277
      9.2.15 메뉴 만들기 ... 281
      9.2.16 팝업 메뉴(Popup Menu) ... 289
      9.2.17 다이얼로그(Dialog) ... 293
      9.2.18 파일 다이얼로그(FileDialog) ... 297
      9.2.19 프린트 출력(PrintJob) ... 300
   9.3 AWT 컴포넌트 관리 ... 302
      9.3.1 BorderLayout ... 302
      9.3.2 FlowLayout ... 305
      9.3.3 GridLayout ... 309
      9.3.4 CardLayout ... 313
      9.3.5 GridBagLayout ... 316
      9.3.6 레이아웃 매니저를 사용하지 않고 컴포넌트 배치하기 ... 326
10. AWT 그래픽 처리 ... 331
   10.1 AWT 그래픽 ... 332
      10.1.1 AWT 그래픽 좌표계 ... 332
      10.1.2 Graphics 클래스 ... 332
      10.1.3 Color 클래스 ... 332
      10.1.4 Point, Rectangle, Dimension 클래스 ... 336
   10.2 직선 그리기 ... 338
   10.3 사각형 그리기 ... 341
   10.4 타원 및 원호 그리기 ... 343
   10.5 다각형 그리기 ... 346
   10.6 그리기 모드 ... 349
   10.7 폰트 조작 ... 351
      10.7.1 Font 클래스 ... 351
      10.7.2 FontMetrics 클래스 ... 354
   10.8 Cursor 클래스 ... 360
11. 이벤트 처리 ... 363
   11.1 이벤트 프로그램 개요 ... 364
      11.1.1 이벤트의 종류 ... 365
      11.1.2 컴포넌트에서 발생 가능한 이벤트들 ... 366
      11.1.3 이벤트 구현 ... 366
      11.1.4 Adapter 클래스 ... 369
   11.2 이벤트 프로그램 작성 ... 374
      11.2.1 Action 이벤트 ... 374
      11.2.2 Adjustment 이벤트 ... 377
      11.2.3 Component 이벤트 ... 381
      11.2.4 Container 이벤트 ... 385
      11.2.5 Focus 이벤트 ... 390
      11.2.6 Item 이벤트 ... 394
      11.2.7 Key 이벤트 ... 399
      11.2.8 Mouse 이벤트 ... 403
      11.2.9 MouseMotion 이벤트 ... 409
      11.2.10 Text 이벤트 ... 414
      11.2.11 Window 이벤트 ... 417
12. 예외 처리 ... 425
   12.1 예외 처리 개요 ... 426
   12.2 예외 처리 ... 432
   12.3 예외 전파 ... 435
   12.4 예외 처리 클래스 생성 ... 441
13. 애플릿 프로그래밍 ... 445
   13.1 애플릿 메소드 ... 446
      13.1.1 init() 메소드 ... 446
      13.1.2 start() 메소드 ... 446
      13.1.3 stop() 메소드 ... 447
      13.1.4 destroy() 메소드 ... 447
      13.1.5 paint() 메소드 ... 448
   13.2 애플릿 태그 ... 451
   13.3 애플릿 사이의 통신 ... 457
   13.4 애플릿과 애플리케이션 프로그램 작성 ... 463
   13.5 홈페이지 이동 ... 466
   13.6 이미지 출력 ... 470
      13.6.1 이미지 로딩 ... 470
      13.6.2 이미지 표시 ... 471
      13.6.3 미디어 트래커 이용 ... 473
부록 A. 자바 관련 페이지 ... 475
   A.1 Java Soft사의 웹 페이지 ... 476
   A.2 Java 2 SDK Document 웹 페이지 ... 477
   A.3 Java Developer Connection(SM) 웹 페이지 ... 478
   A.4 Java Technology Products & API 웹 페이지 ... 479
   A.5 Java 2 SDK 1.4 웹 페이지 ... 480
   A.6 Java 2 SDK Document ver. 1.4 ... 481
   A.7 Java 2 SDK ver. 1.4의 새로 추가된 내용 ... 482
   A.8 Release Note ... 483
   A.9 Bug Parade Web Page ... 484
부록 B. Java 2 JDK 1.4 설치 ... 485
   B.1 Java 2 JDK 1.4 다운로드 ... 486
   B.2 Java 2 JDK 1.4 설치 ... 489
   B.3 Java 2 JDK 1.4 문서 설치 ... 495
   B.4 Java 2 JDK 1.4 소스 파일 설치 ... 500
   B.5 Java 2 JDK 1.4 환경설정 ... 502
      B.5.1 PATH 설정 ... 503
찾아보기 ... 509
닫기