목차
머리말 ... 3
요약 차례 ... 11
찾아보기 ... 900
Part 1 자바 기초
   Chapter 1 자바 소개 ... 26
      1. 자바란 무엇인가? ... 26
        1) 역사 ... 26
        2) 자바를 왜 사용하는가? ... 27
        3) 자바 관련 단어 ... 28
      2. 자바 환경 설치 ... 30
        1) 윈도우 환경 ... 30
        2) 리눅스 ... 30
      3. 첫 번째 프로그램 ... 31
        1) 컴파일하기 ... 32
        2) 실행하기 ... 34
        3) 프로그램 이해하기 ... 34
      요점 정리 ... 38
   Chapter 2 키워드, 자료형 그리고 변수 ... 40
      1. 새로운 프로그래머 ... 40
      2. 키워드 ... 41
      3. 자료형 ... 41
        1) 컴퓨터와 인간의 통신 문제 ... 42
        2) 기본형 ... 44
        3) 변수 ... 48
        4) 리터럴 ... 50
        5) 수치형 사이의 변환 ... 51
        6) 자료형 사이의 캐스팅 ... 54
      요점 정리 ... 56
   Chapter 3 연산자 ... 58
      1. 산술연산자(Arithmetic Operators) ... 58
        1) 더하기 ... 58
        2) 빼기 ... 59
        3) 곱하기 ... 60
        4) 나누기 ... 60
        5) 나머지 ... 61
      2. 증감 연산자(Increment & Decrement Operators) ... 62
      3. 관계 연산자(Relational Operators) ... 63
      4. 비트 연산자(Bit-Wise Operators) ... 64
        1) AND ... 66
        2) OR ... 66
        3) Exclusive OR ... 67
        4) NOT ... 67
        5) 실전 응용 ... 67
      5. 논리 연산자(Logical Operators) ... 68
        1) AND ... 68
        2) OR ... 69
        3) 단축 논리 연산자 ... 69
      6. 이동 연산자(Shift Operators) ... 70
        1) 왼쪽 이동 연산자 ... 72
        2) 오른쪽 이동 연산자 ... 72
        3) 0으로 채우는 오른쪽 이동 연산자 ... 73
      7. 연산자 우선 순위 ... 73
        1) 자바의 연산자 우선 순위 ... 75
      요점정리 ... 77
   Chapter 4 흐름 제어 ... 78
      1. 조건문 ... 78
        1) if∼else문 ... 79
        2) 삼항 연산자 ... 83
        3) switch문 ... 83
      2. 반복문 ... 86
        1) while문 ... 87
        2) do문 ... 88
        3) for문 ... 89
      3. 루프의 탈출 및 계속 실행 ... 93
        1) 루프의 탈출 ... 93
        2) 루프의 계속 실행 ... 94
        3) 레이블(Labels) ... 95
      요점정리 ... 98
   Chpater 5 메소드(Methods) ... 100
      1. 분할과 결합 ... 100
      2. 메소드의 형식 ... 101
      3. 메소드의 호출 ... 103
      4. 복합적인 클래스 메소드 ... 105
      5. 변수의 유효 범위 ... 107
      6. 재귀(Recursion) ... 108
        1) 재귀 메소드 ... 108
        2) 재귀와 반복(Recursion Versus Iteration) ... 110
      7. 메소드 다중 정의(Method Overloading) ... 110
      8. 자바 클래스 라이브러리 ... 112
      요점 정리 ... 115
Part 2 객체 지향 프로그래밍
   Chapter 6 클래스 ... 118
      1. 객체 지향 프로그래밍 ... 126
        1) 캡슐화(Encapsulation) ... 127
        2) 정보 은닉(Information Hiding) ... 127
      2. 클래스들 ... 127
        1) CarObject 클래스 ... 127
        2) 컴포넌트 속성(Component Attributes) ... 131
        3) 상태 속성(State Attributes) ... 131
        4) 행위(Behavior) 또는 메소드(Method) ... 132
        5) Get/Set 메소드 ... 132
        6) 생성자(Constructor) ... 134
        7) 클래스 유효 범위 ... 135
        8) 멤버에 대한 접근 제어 ... 135
        9) this 변수 ... 136
        10) 상수(Constant) ... 136
        11) 조합(Composition) ... 137
        12) 쓰레기 수집(Garbage Collection) ... 137
        13) 소멸자(Finalizer) ... 138
        14) 정적 클래스 멤버 ... 139
      3. 내부 클래스 ... 139
        1) 유효 범위 ... 139
        2) 접근 수정자 ... 140
        3) 정적 내부 클래스 ... 141
        4) 익명 내부 클래스 ... 142
      4. 객체 참조 이해하기 ... 143
      요점 정리 ... 145
   Chapter 7 상속(Inheritance) ... 146
      1. 문제 유도 ... 146
      2. 해결 방법 : 인터페이스 ... 156
      3. 상속을 언제 하는가? ... 165
      4. 상속 관계에 대한 지침 ... 165
      5. 트리 다이어그램 ... 166
        1) 문법 ... 166
        2) 종단 클래스(Final Class) ... 167
        3) 추상 클래스(Abstract Class) ... 167
        4) 접근 수정자 ... 170
        6) 클래스 소멸자 ... 170
        7) 메소드 재정의(Overriding) ... 170
        8) 동적 바인딩과 다형성 ... 171
      요점 정리 ... 174
   Chapter 8 인터페이스(Interface) ... 176
      1. 문제 유도 ... 176
      2. 다중 상속 ... 182
      3. 인터페이스 문법 ... 183
      4. 인터페이스의 구현 ... 183
      5. 다중 상속을 위해 인터페이스를 사용하는 이유 ... 183
      6. 클래스의 성능을 추가하는데 사용되는 인터페이스 ... 185
      7. 인터페이스와 추상 클래스 ... 185
      요점 정리 ... 186
   Chapter 9 예외 처리(Exception Handling) ... 188
      1. 문제 유도 ... 188
      2. 예외 정의 ... 193
        1) try 블록 ... 193
        2) catch 블록 ... 193
        3) finally 블록 ... 194
      3. 예외 처리 문법 ... 194
      4. 예외 클래스들 ... 197
        1) Throwable 클래스 ... 198
      5. 예외 던지기 ... 199
        1) 예외 리스트 알리기 ... 199
        2) 예외의 인스턴스 생성 ... 200
        3) 예외 던지기 ... 200
      6. 예외 다시 던지기 ... 201
      7. 메소드를 이용한 예외 전달 ... 202
      8. 사용자 정의 예외 ... 202
      요점 정리 ... 210
   Chapter 10 자바 클래스 ... 212
      1. JavaDoc에 대한 소개 ... 212
      2. 자바의 랩퍼 클래스 사용 ... 215
        1) Boolean 클래스 ... 216
        2) Byte 클래스 ... 216
        3) Character 클래스 ... 218
        4) Double 클래스 ... 219
        5) Float 클래스 ... 221
        6) Integer 클래스 ... 222
        7) Long 클래스 ... 224
        8) Short 클래스 ... 225
      3. String 클래스의 사용 ... 227
        1) String 클래스 ... 229
        2) StringBuffer 클래스 ... 234
        3) StringTokenizer 클래스 ... 236
      요점 정리 ... 238
   Chapter 11 컬렉션 클래스 ... 240
      1. 컬렉션 클래스(Collection Class)의 문제 해결 ... 240
      2. 자료 구조의 소개 ... 241
        1) 배열 자료 구조 ... 241
        2) 연결 리스트 자료 구조 ... 243
        3) 스택 자료 구조 ... 245
        4) 큐 자료 구조 ... 246
        5) 해시 테이블 자료 구조 ... 247
        6) 트리 자료 구조 ... 249
      3. 컬렉션의 개념 ... 251
        1) Listl 인터페이스 ... 251
        2) Set 인터페이스 ... 252
        3) Map 인터페이스 ... 252
        4) Iterators 인터페이스 ... 253
      4. 컬렉션 클래스 ... 253
        1) ArrayList ... 255
        2) Vector ... 257
        3) LinkedList ... 260
        4) Stack ... 262
        5) HashSet ... 263
        6) TreeSet ... 266
        7) HashMap ... 268
        8) TreeMap ... 271
      요점 정리 ... 274
   Chapter 12 자바의 입출력 클래스 사용 ... 276
      1. 문제 유도 ... 276
      2. 입출력 소스로서의 스트림 ... 278
      3. 바이트 지향 스트림 클래스 ... 278
        1) 사전 정의 스트림 객체 ... 280
        2) 필터 스트림 ... 280
        3) 파일 입출력 ... 282
        4) 다른 바이트 입출력 클래스 ... 286
      4. 문자 지향 클래스 ... 286
        1) Reader/Writer를 사용하는 파일 입출력 ... 289
        2) 바이트와 문자 입출력 클래스 ... 290
        3) 다른 문자 입출력 Reader와 Writer 클래스 ... 290
      5. 쉬운 사용을 위한 스트림 연쇄화 ... 292
      요점 정리 ... 293
Part 3 GUI(Graphical User Interfaces)
   Chapter 13 AWT(Abstract Windows Toolkit) ... 296
      1. 컨테이너(Containers) ... 298
        1) Applet ... 298
        2) 애플릿 실행 ... 299
        3) Frame ... 302
        4) Panel ... 309
        5) ScrollPane ... 311
      2. 다이얼로그 프로그래밍 ... 314
      3. GUI에 AWT 컴포넌트 추가하기 ... 319
        1) TextField ... 319
        2) Button ... 322
        3) TextArea ... 325
        4) CheckBox ... 329
        5) CheckboxGroup ... 332
        6) Choice ... 335
        7) List ... 338
        8) MenuBar ... 342
        9) MenuItem ... 345
      4. 레이아웃 관리자 ... 348
        1) BorderLayout ... 348
        2) FlowLayout ... 352
        3) GridBagLayout ... 354
      요점 정리 ... 359
   Chapter 14 이벤트 위임 모델 ... 360
      1. 이벤트에 대한 이해 ... 361
      2. 자바 이벤트 모델 프로그래밍 ... 362
      3. 다른 이벤트 리스너 인터페이스의 사용 ... 371
        1) ActionListener 인터페이스 ... 372
        2) AdjustmentListener 인터페이스 ... 373
        3) ItemListener 인터페이스 ... 376
        4) TextListener 인터페이스 ... 379
        5) KeyListener 인터페이스와 KeyAdapter 클래스 ... 383
        6) WindowListener 인터페이스와 WindowAdapter 클래스 ... 387
        7) ComponentListener 인터페이스와 ComponentAdapter 클래스 ... 391
        8) MouseListener 인터페이스와 MouseAdapter 클래스 ... 393
        9) MouseMotionListener 인터페이스와 MouseMotionAdapter 클래스 ... 397
      요점 정리 ... 400
   Chapter 15 자바 빈즈(JavaBeans) ... 402
      1. 자바 빈즈(JavaBeans)의 이해 ... 404
      2. 간단한 자바 빈 개발 ... 406
      3. 자바 빈즈의 배치 ... 411
      4 Forte에서의 빈 배치 ... 414
      5. 속성, 메소드, & 이벤트 ... 419
        1) 새로운 메소드 생성 ... 419
        2) 이벤트 ... 421
        3) PropertyChangeEvent ... 421
      요점 정리 ... 429
   Chapter 16 스윙 라이브러리(Swing Library) ... 430
      1. 스윙의 이해 ... 431
      2. 스윙 애플리케이션의 구조 ... 433
      3. 윈도우 다루기 ... 436
        1) JFrame ... 438
        2) JComponent ... 440
        3) JPanels ... 441
        4) JScrollPane 컨트롤의 사용 ... 443
        5) Dialog ... 446
      4. 스윙 컴포넌트의 사용 ... 450
        1) JTextField 컴포넌트 ... 450
        2) Button 추가 ... 453
        3) JTextArea ... 456
        4) JCheckBox ... 460
        5) JRadioButton ... 464
        6) JList ... 466
      요점 정리 ... 470
   Chapter 17 고급 스윙(Advanced Swing) ... 472
      1. JTable을 이용한 프로그래밍 ... 472
      2. 헤더(Headers) 스크롤(Scrolling), 포맷(Formatting)의 추가 ... 479
      3. JTree를 이용한 프로그래밍 ... 484
      4. JOptionPane 이용하기 ... 494
      요점 정리 ... 498
Part 4 고급 기술
   Chapter 18 스레드 프로그래밍 ... 502
      1. 스레드가 왜 필요한가? ... 502
      2. Thread 클래스를 이용한 스레드 생성 ... 504
        1) 멀티 스레드 애플리케이션 작성 ... 506
        2) 스레드 이름 설정 ... 509
      3. Runnalbe 인터페이스를 이용한 스레드 생성 ... 511
        1) 스레드 인터럽트 ... 514
        2) 스레드 중단 ... 517
      4. 멀티 스레드에서 변수에 대한 접근 조절 ... 520
      5. 스레드 사이의 공동작용 ... 527
      6. 스레드 사이의 데이터 전달 ... 532
      요점 정리 ... 537
   Chapter 19 JDBC를 이용한 데이터베이스 접근 ... 538
      1. 데이터베이스 역사의 이해 ... 539
      2. JDBC의 필요성 ... 540
      3. JDBC를 이용한 프로그래밍 ... 543
      4. 데이터베이스 질의 ... 547
      5. JDBC를 이용한 테이블 생성 ... 556
      6. 데이터베이스 채우기(Population a Database) ... 560
      7. JDBC와 GUI를 이용한 데이터 변경 ... 563
      요점 정리 ... 573
   Chapter 20 네트워크 프로그래밍(Network Programming) ... 574
      1. TCP/IP의 역사 ... 574
      2. TCP/IP의 내부 요소 ... 576
        1) 애플리케이션 계층(Application Layer) ... 577
        2) 전송 계층(Transport Layer) ... 578
        3) 인터네트워크 계층(Internetwork Layer) ... 578
        4) 네트워크 접속 계층(Network Access Layer) ... 579
      3. 간단한 소켓 프로그래밍 ... 580
      4. 소켓을 이용한 양방향 통신(Two-way Communication) ... 586
      5. 소켓을 이용한 복합 객체 전송 ... 595
      6. 소켓을 이용한 스트림(Stream) 전송 ... 607
      7. URL 클래스 ... 613
      요점 정리 ... 617
Part 5 웹 테크놀로지
   Chapter 21 서블릿(Servlets) ... 620
      1. 서블릿이란? ... 621
      2. 서블릿이 왜 필요한가? ... 622
      3. 서블릿은 어떻게 동작하는가? ... 622
      4. 웹 환경 설정 ... 624
      5. Jakarta Tomcat 설치 ... 625
        1) Tomcat 시작하기 ... 626
        2) 설치 확인 테스트 ... 627
      6. 서블릿 프로그래밍 ... 629
        1) Generic Servlet 프로그래밍 ... 630
        2) 서블릿 배치 ... 632
        3) HTTP의 이해 ... 639
        4) GET 명령 ... 640
        5) POST 명령 ... 642
        6) 그 밖의 명령들 ... 642
        7) HTTP 1.1 ... 643
        8) HTTP 프로그래밍 ... 643
      7. HTML 폼(Form)과 서블릿 ... 653
      8. 서블릿에서 다른 클래스의 호출 ... 660
      9. 쿠키(Cookies)를 사용한 상태 관리 ... 668
      10. 세션(Session) 객체를 이용한 상태 관리 ... 676
      요점 정리 ... 686
   Chapter 22 JSP(Java Server Pages) ... 688
      1. JSP란 무엇인가? ... 689
      2. JSP의 장점 ... 689
      3. Java Server Page는 어떻게 동작하는가? ... 690
      4. JSP 프로그래밍 ... 691
        1) 표현식(Expressions) ... 691
        2) JSP 페이지에 스크립트릿(Scriptlets) 추가하기 ... 692
        3) 선언문(Declarations) ... 692
        4) 주석(Comments) ... 693
        5) 지시자(Directives) ... 693
        6) 내장 객체(Implicit Objects) ... 694
      5. JSP 배치(Deploying) 및 실행(Running) ... 695
      6. JSP에서의 메소드 정의 ... 707
        1) 조건부 출력(Conditional Output) ... 710
        2) HTML 폼에서 JSP 호출하기 ... 712
        3) 에러 처리(Error Handling) ... 713
      요점 정리 ... 716
   Chapter 23 컴포넌트 기반 JSP ... 718
      1. JSP 액션(Action)의 이해 ... 720
      2. 자신의 JSP에 다른 JSP들을 포함시키는 방법 ... 722
        1) Include 지시자(Directive) ... 722
        2) include 액션(Action) ... 724
      3. JSP를 이용한 JavaBeans 접근 ... 732
      4. JavaBeans를 이용한 데이터베이스 접근 ... 743
        1) 데이터베이스 갱신(Update) ... 745
        2) 데이터베이스로부터 데이터 검색(Retrieval) ... 750
      요점 정리 ... 763
   Chapter 24 커스텀 태그 라이브러리(Custom Tag Libraries) ... 764
      1. 커스텀(사용자 정의) 태그란 무엇인가? ... 764
      2. 커스텀 태그는 어떻게 동작하나? ... 766
      3. 커스텀 태그 바디(Custom Tag Body)의 사용 ... 773
      4. 커스텀 태그를 이용한 매개변수 전달 ... 778
      요점 정리 ... 806
   Chapter 25 XML ... 792
      1. XML의 중요성 ... 792
      2. XML 컴포넌트(Components) ... 796
        1) XXL 문서(Document) ... 796
        2) DTD(Document Type Definition) ... 797
        3) 문서 검증(Document Validation) ... 798
        4) 파싱 기술(Parsing Techniques) ... 799
      3. SAX(Simple API for XML) 파서를 이용한 XML 문서 읽기 ... 801
      4. DOM을 이용한 XML 문서 조작 ... 812
        1) 메모리에 XML 트리 생성하기 ... 813
        2) XML 트리(tree) 읽기 ... 814
        3) XML 트리 출력하기 ... 820
        4) XML 트리 조작하기 ... 820
      5. XSLT ... 825
        1) XSL 스타일시트(Stylesheets) ... 827
        2) XSLT 사용 예제 ... 828
      6. JDOM을 이용한 XML 문서 조작 ... 831
        1) XML 문서 읽기 ... 832
        2) JDOM 예제 ... 838
      요점 정리 ... 842
   Chapter 26 웹 아키텍처(Web Architecure) ... 844
      1. 웹 사이트 조직 ... 845
        1) 웹 사이트의 TCP/IP 레벨 ... 845
        2) HTTP(Hypertext Transport Protocol) ... 847
        3) 브라우저(Brower) ... 848
        4) 웹 서버(Web Server) ... 848
        5) 애플리케이션(Application) ... 849
      2. 웹 설계의 함정 ... 849
      3. Model-View-Controller(MVC) 아키텍처 ... 850
      4. 서블릿(Servlets) ... 851
      5. 자바 서버 페이지(Java Server Pages) ... 855
      6. 자바 스크립트(Java Script) ... 856
      7. EJB(Enterprise JavaBeans) ... 858
      8. 웹 서비스(Web Services) ... 860
      요점 정리 ... 863
부록 Appendixes A, B, C
   Appendix A BORLAND JBUILDER ENTERPRISE EDIYTION ... 866
      1. JBuilder 다운로드 ... 867
      2. JBuilder 설치하기 ... 867
      3. JBuilder 실행하기 ... 868
      4. 통합 개발 환경(IDE)를 이용한 자바 애플리케이션 개발 ... 870
        1) 프로젝트에 클래스 생성하기 ... 870
        2) 자바 애플리케이션 디버깅 ... 873
      5. IDE를 이용한 JSP와 Java Servlet 개발 ... 876
      요점 정리 ... 897
   Appendix B SUN ONE STUDIO 4(FORTE), COMMUNITY EDITION ... 882
      1. Sun One Studio 4 다운로드 ... 883
      2. Sun One Studio 4 설치하기 ... 883
      3. Sun One Studio 4 실행하기 ... 884
      4. 통합 개발 환경(IDE)를 이용한 자바 애플리케이션 개발 ... 885
        1) 프로젝트 생성하기 ... 885
        2) 프로젝트에 클래스 생성하기 ... 886
        3) 자바 애플리케이션 디버깅하기 ... 890
      5. IDE를 이용한 JSPs와 서블릿(Servlets) 개발 ... 891
        1) JSP 페이지 추가하기 ... 893
        2) 서블릿(Servlet) 추가하기 ... 896
      요점 정리 ... 899
   Appendix C 복습 문제 정답 ... 900
닫기