목차
Chapter 1 자바 언어의 개요 ... 1
   1 자바 언어의 탄생배경과 특징 ... 3
      1.1 자바 언어의 탄생배경 ... 3
      1.2 자바 언어의 특징 ... 5
   2 자바의 플랫폼 ... 11
      2.1 자바플랫폼의 구성 요소 ... 11
      2.2 자바 플랫폼의 종류 ... 13
   3 자바 이용 분야와 자바 프로그램의 종류 ... 15
      3.1 웹 분야 ... 15
      3.2 모바일 분야 ... 16
      3.3 일반 응용 분야 ... 18
   학습정리 ... 19
Chapter 2 자바 프로그래밍 환경 설정 ... 21
   1 JDK 설치와 환경 설정 ... 23
      1.1 JDK란 ... 23
      1.2 JDK 다운로드 ... 23
      1.3 JDK 설치 ... 27
      1.4 JDK 설치 디렉터리의 구조와 명령어 모음 ... 30
      1.5 환경 변수 PATH 설정 ... 32
   2 API DOCUMENT 설치 ... 36
      2.1 API DOCUMENT란? ... 36
      2.2 API DOCUMENT 다운로드 ... 36
      2.3 API DOCUMENT 설치 ... 39
   3 이클립스 설치 ... 41
      3.1 이클립스란? ... 41
      3.2 이클립스 다운로드 ... 42
      3.3 이클립스 설치 ... 45
   학습정리 ... 52
Chapter 3 자바 프로그램의 기본 구조 ... 53
   1 자바 애플리케이션 작성, 컴파일, 실행 과정 ... 55
      1.1 자바 애플리케이션 작성 ... 55
      1.2 자바 애플리케이션 컴파일과 실행 ... 57
   2 자바 애플리케이션 기본 구조 분석 ... 66
      2.1 문장, 메소드, 클래스 정의 ... 66
      2.2 자바 표준 출력 문장 ... 67
   3 자바 주석문 ... 69
      3.1 C++ 스타일 주석문 ... 69
      3.2 JAVA DOC 주석문 ... 70
   4 자바 식별자와 키워드 ... 75
      4.1 자바 식별자(IDENTIFIER) 규칙과 관례 ... 75
      4.2 자바 키워드(KEYWORD) 리스트 ... 78
   5 자바의 기본형 변수 ... 79
      5.1 자바의 변수들과 메모리 구조 ... 79
      5.2 자바의 기본형 변수 종류와 특징 ... 83
   6 자바의 연산자 ... 92
      6.1 자바 연산자의 종류 ... 92
   학습정리 ... 111
Chapter 4 자바의 제어문과 배열 ... 113
   1 자바의 조건문 ... 115
      1.1 if-else문 ... 115
      1.2 switch-case문 ... 119
   2 자바의 반복문 ... 121
      2.1 for문 ... 122
      2.2 while문 ... 125
      2.3 do-while문 ... 127
   3 자바의 이동문 ... 129
      3.1 break문 ... 129
      3.2 continue문 ... 132
      3.3 return문 ... 135
   4 자바의 배열 ... 138
      4.1 자바 배열의 특징 ... 138
      4.2 자바 배열의 사용 ... 139
      4.3 main() 메소드와 명령행 매개변수 ... 147
   학습정리 ... 153
Chapter 5 객체와 클래스 ... 155
   1 객체지향 프로그래밍, 객체, 클래스의 개념 ... 157
      1.1 객체지향 프로그래밍 ... 157
      1.2 객체의 개념 ... 161
      1.3 클래스의 개념 ... 162
   2 클래스의 구조 ... 164
      2.1 클래스의 작성 ... 164
      2.2 클래스 선언부 ... 165
      2.3 클래스 멤버부 ... 166
      2.4 자바 modifier ... 166
   3 객체 생성 ... 168
      3.1 객체 생성 문장의 구성 요소 ... 168
      3.2 객체 생성 문장과 자바의 메모리 구조 ... 170
   4 멤버 변수 ... 172
      4.1 멤버 변수의 개념 ... 172
      4.2 멤버 변수의 구성 요소 ... 173
      4.3 public, protected, private modifier ... 174
      4.4 static modifier ... 178
      4.5 final modifier ... 181
   5 메소드 ... 184
      5.1 메소드 선언부 ... 184
      5.2 return 문과 리턴 타입 ... 185
      5.3 메소드 구현부 ... 189
      5.4 public, protected, private, modifier ... 193
      5.5 static modifier ... 194
      5.6 매개변수의 개념과 매개변수 전달 원리 ... 196
      5.7 메소드 overloading ... 200
   6 생성자 ... 205
      6.1 생성자의 개념과 특징 ... 205
      6.2 생성자의 구성 요소 ... 206
      6.3 public, protected, private, modifier ... 207
      6.4 생성자와 객체 생성 ... 207
      6.5 생성자 overloading ... 212
   7 this 키워드 ... 216
      7.1 this키워드의 개념 ... 216
      7.2 this 키워드와 멤버 변수 ... 217
      7.3 this 키워드와 생성자 호출 ... 218
   8 패키지 ... 222
      8.1 패키지의 개념 ... 222
      8.2 import 키워드 ... 223
      8.3 Package 키워드 ... 226
   학습정리 ... 227
Chapter 6 상속과 인터페이스 ... 229
   1 상속이란 ... 231
      1.1 상속의 개념과 코드 재사용 ... 231
      1.2 상속과 extends 키워드 ... 233
   2 멤버 변수의 상속 ... 237
      2.1 상속받은 멤버 변수의 사용 ... 237
      2.2 상속과 private 멤버 변수 ... 239
      2.3 동일한 이름을 가진 멤버 변수의 사용 ... 240
   3 메소드의 상속 ... 243
      3.1 메소드 overriding ... 243
      3.2 final modifier ... 252
      3.3 abstract modifier ... 254
   4 생성자 호출과 super 키워드 ... 261
      4.1 생성자자동 호출 ... 261
      4.2 super 키워드와 상위 클래스의 멤버 사용 ... 263
      4.3 super 키워드와 상위 클래스의 생성자 호출 ... 268
   5 객체의 형변환과 다형성 ... 273
      5.1 객체의 형변찰이란 ... 273
      5.2 객체의 자동 형변환 ... 274
      5.3 객체의 명시적 형변환 ... 275
      5.4 객체의 형변환과 사용 멤버들 ... 278
   6 인터페이스란 ... 285
      6.1 인터페이스의 개념과 기능의 통일 ... 285
      6.2 인터페이스의 특징 ... 287
   7 인터페이스의 활용 ... 289
      7.1 인터페이스 구현과 implements 키워드 ... 289
      7.2 인터페이스와 다형성 ... 290
   학습정리 ... 296
Chapter 7 예외 처리 ... 299
   1 예외란 ... 301
      1.1 자바 프로그램의 오류들 ... 301
      1.2 예외와 예외 상황 ... 302
   2 예외 클래스 ... 304
      2.1 예외 상황과 예외 클래스 ... 304
      2.2 예외 발생 시 프로그램의 흐름 ... 305
   3 예외의 직접 처리 ... 308
      3.1 try-catch 키워드 ... 308
      3.2 finally 키워드 ... 316
   4 예외의 간접 처리 ... 321
      4.1 throws 키워드 ... 321
      4.2 예외 처리가 필요없는 예외들 ... 325
   학습정리 ... 327
Chapter 8 멀티스레드 프로그래밍 ... 329
   1 멀티스레드란 ... 331
      1.1 멀티태스킹과 멀티프로세스 ... 331
      1.2 멀티스레드 ... 332
   2 자바의 멀티스레드 프로그래밍 ... 334
      2.1 java.lang.Thread 클래스 ... 334
      2.2 java.lang.Runnable 인터페이스 ... 337
   3 스레드 상태도와 스케줄링 ... 342
      3.1 스레드 상태도 ... 342
      3.2 스레드 스케줄링 방식 ... 344
      3.3 sleep() 메소드 호출 ... 347
      3.4 join() 메소드 호출 ... 350
   4 동기화 ... 354
      4.1 동기화(synchronization)란 ... 354
      4.2 synchronized 키워드 ... 355
      4.3 wait(). notify() 메소드 호출 ... 360
   학습정리 ... 367
Chapter 9 java.lang 패키지의 주요 클래스들 ... 369
   1 Object 클래스 ... 371
      1.1 Object 클래스의 특징 ... 371
      1.2 Object 클래스의 메소드 ... 371
   2 String 클래스 ... 378
      2.1 String 클래스의 특징 ... 378
      2.2 String 클래스의 메소드 ... 381
   3 Wrapper 클래스와 오토박싱(Autoboxing) ... 389
      3.1 Wrapper 클래스란 ... 389
      3.2 Wrapper 클래스의 종류 ... 390
      3.3 Autoboxin9/unboxing ... 394
   학습정리 ... 398
Chapter 10 java.util 패키지와 컬렉션 프레임워크(Collection Framework) ... 401
   1 컬렉션 프레임워크란 ... 403
      1.1 컬렉션 프레임워크의 개념과 종류 ... 403
      1.2 Set 인터페이스 ... 404
      1.3 List 인터페이스 ... 405
      1.4 Map 인터페이스 ... 410
   2 Hashtable 클래스 ... 411
      2.1 Hashtable 클래스의 특징 ... 411
      2.2 Hashtable 클래스의 메소드 ... 412
   3 Vector 클래스 ... 415
      3.1 Vector 클래스의 특징 ... 415
      3.2 Vector 클래스의 메소드 ... 415
   4 제네릭스(Generics)란 ... 420
      4.1 제네릭스의 개념 ... 420
      4.2 제네릭스의 사용 ... 422
   학습정리 ... 427
Chapter 11 java.io 패키지와 입출력 프로그래밍 ... 429
   1 자바 입출력의 개요 ... 431
      1.1 입출력이란 ... 431
      1.2 자바 입출력 API 들 ... 433
   2 File 클래스 ... 435
      2.1 File 클래스의 특징 ... 435
      2.2 Fiie 클래스의 메소드 ... 435
   3 바이트 스트림 ... 441
      3.1 입력 스트림 ... 441
      3.2 출력 스트림 ... 442
      3.3 표준 입출력 ... 443
      3.4 java.util.Scanner 클래스를 이용한 입력 ... 446
   4 문자 스트림 ... 451
      4.1 입력 스트림 ... 451
      4.2 출력 스트림 ... 453
      4.3 텍스트 파일 입출력 ... 453
   학습정리 ... 459
Chapter 12 java.net 패키지와 네트워크 프로그래밍 ... 461
   1 네트워크의 구조 ... 463
      1.1 네트워크와 프로토콜 ... 463
      1.2 IP 주소 ... 465
      1.3 포트(Port) ... 466
      1.4 TCP 와 UDP 방식의 차이 ... 468
   2 InetAddress 클래스 ... 470
      2.1 InetAddress 클래스의 특징 ... 470
      2.2 InetAddress 클래스의 메소드 ... 471
   3 TCP 통신 ... 475
      3.1 TCP 방식의 특징 ... 475
      3.2 ServerSocket 클래스와 Socket 클래스 ... 477
   4 UDP 통신 ... 487
      4.1 UDP방식의 특징 ... 487
      4.2 DatagramPacket 클래스와 DatagramSocket 클래스 ... 487
   학습정리 ... 495
Chapter 13 AWT 컴포넌트와 이벤트 처리 프로그래밍 ... 497
   1 AWT 소개 ... 499
      1.1 AWT 개념과 컴포넌트 관련 API들 ... 499
      1.2 AWT 컴포넌트 소개 ... 500
   2 AWT 컨테이너 컴포넌트 ... 501
      2.1 AWT 컨테이너 컴포넌트 종류 ... 501
      2.2 Frame ... 502
      2.3 Panel ... 503
   3 AWT 비주얼 컴포넌트들 ... 506
      3.1 AWT 비주얼 컴포넌트 종류 ... 506
      3.2 Button ... 507
      3.3 TextField와 TextArea ... 508
      3.4 List와 Choice ... 511
      3.5 Checkbox와 CheckboxGroup ... 513
      3.6 Memu와 MenuItem. MenuBar ... 515
   4 컴포넌트의 배치와 레이아웃 ... 518
      4.1 레이아웃이란 ... 518
      4.2 BorderLayout ... 519
      4.3 FlowLayout ... 520
      4.4 CardLayout ... 522
      4.S GridLayout ... 525
      4.6 GridBagLayout ... 526
   5 AWT 이벤트 종류와 이벤트 처리 구조 ... 533
      5.1 AWT 이벤트 처리 방식 ... 533
      5.2 WindowEvent와 WindowListener ... 537
      5.3 ActionEvent와 ActionListener ... 538
      5.4 MouseEvent, MouseMotionEvent와 MouseListenr, MouseMotionListner ... 539
      5.5 ItemEvent와 ItemListener ... 541
   학습정리 ... 546
Chapter 14 SWING 컴포넌트와 이벤트 처리 프로그래밍 ... 551
   1 SWING 컴포넌트의 구조 ... 551
      1.1 SWING 컴포넌트 관련 API들 ... 551
      1.2 SWING 컴포넌트 종류 ... 552
      1.3 SWING과 AWT 컴포넌트의 비교 ... 558
   2 SWING의 새로운 컴포넌트 ... 564
      2.1 lmagelcon ... 564
      2.2 JTabbedPane ... 565
      2.3 JProgressBar ... 568
      2.4 JToolBar ... 572
      2.5 JTable ... 574
      2.6 JTree ... 577
   학습정리 ... 586
INDEX ... 589
닫기