목차 일부
서문 ... ⅲ
역자 서문 ... xiii
역자에 대하여 ... xvi
Chapter 1 들어가기에 앞서
1.1 컴퓨터란 무엇인가? ... 2
1.2 프로그래밍이란 무엇인가? ... 3
1.3 컴퓨터의 내부 구조 ... 4
1.4 우리가 읽을 수 있는 코드를 기계어 코드로 변환하기 ... 9
1.5 프로그래밍 언어 ... 12
...
더보기
목차 전체
서문 ... ⅲ
역자 서문 ... xiii
역자에 대하여 ... xvi
Chapter 1 들어가기에 앞서
1.1 컴퓨터란 무엇인가? ... 2
1.2 프로그래밍이란 무엇인가? ... 3
1.3 컴퓨터의 내부 구조 ... 4
1.4 우리가 읽을 수 있는 코드를 기계어 코드로 변환하기 ... 9
1.5 프로그래밍 언어 ... 12
1.6 자바 프로그래밍 ... 13
1.7 자신의 컴퓨터와 친해지기 ... 15
1.8 간단한 프로그램을 컴파일해보기 ... 20
1.9 에러 ... 28
1.10 컴파일이 진행되는 과정 ... 31
Chapter 2 객체와 클래스에 대한 소개
2.1 객체를 만들고 사용하기 ... 40
2.2 객체 변수 ... 44
2.3 클래스 정의하기 ... 50
2.4 클래스 테스트하기 ... 53
2.5 인스턴스 필드 ... 56
2.6 생성자 ... 59
2.7 클래스의 공개된 인터페이스 설계하기 ... 61
2.8 공개된 인터페이스에 주석 달기 ... 65
2.9 클래스 구현하기 ... 70
2.10 변수 타입 ... 79
2.11 명시적 메소드 매개변수와 묵시적 메소드 매개변수 ... 81
Chapter 3 기본적인 데이터 타입
3.1 숫자 타입 ... 94
3.2 할당 ... 102
3.3 상수 ... 106
3.4 계산과 수학 기능 ... 111
3.5 정적 메소드 호출 ... 118
3.6 타입 변환 ... 119
3.7 문자열 ... 128
3.8 입력값 읽기 ... 133
3.9 문자 ... 139
3.10 기본 타입과 객체 타입 비교 ... 143
Chapter 4 애플릿과 그래픽스
4.1 왜 애플릿인가? ... 161
4.2 HTML에 대해 간단히 알아보기 ... 163
4.3 간단한 애플릿 ... 168
4.4 그래픽의 형태 ... 173
4.5 색 ... 176
4.6 폰트 ... 177
4.7 복잡한 도형 그리기 ... 184
4.8 텍스트 입력 읽기 ... 194
4.9 눈에 보이는 정보와 숫자로 표시되는 정보 비교하기 ... 198
4.10 좌표 변환하기 ... 204
Chapter 5 결정문
5.1 if문 ... 220
5.2 값 비교하기 ... 226
5.3 여러 가지 중에서 선택하기 ... 233
5.4 boolean 식 사용하기 ... 248
Chapter 6 반복문
6.1 while 루프 ... 270
6.2 for 루프 ... 280
6.3 중첩된 루프 ... 290
6.4 입력값 처리하기 ... 293
6.5 난수와 모의실험 ... 313
Chapter 7 클래스 디자인
7.1 클래스 선택하기 ... 336
7.2 응집도와 결합도 ... 338
7.3 접근자 메소드와 변경자 메소드 ... 342
7.4 사이드 이펙트 ... 343
7.5 선조건과 후조건 ... 349
7.6 스테틱 메소드 ... 355
7.7 스테틱 필드 ... 357
7.8 유효 범위 ... 364
7.9 패키지 ... 371
Chapter 8 테스팅과 디버깅
8.1 단위 테스트 ... 396
8.2 테스트 케이스 평가 ... 405
8.3 회귀 검사와 검사 범위 ... 407
8.4 프로그램 추적·로깅·확언 ... 411
8.5 디버거 ... 415
8.6 디버깅 세션 샘플 ... 418
Chapter 9 인터페이스와 다형성
9.1 재사용 가능한 솔루션 개발하기 ... 436
9.2 타입 변환하기 ... 443
9.3 다형성 ... 446
9.4 재사용성을 증가시키기 위해 전략 인터페이스 사용하기 ... 448
9.5 타이머 이벤트 처리하기 ... 456
Chapter 10 이벤트 핸들링
10.1 이벤트, 이벤트 리스너, 이벤트 소스 ... 474
10.2 마우스 입력 처리하기 ... 478
10.3 텍스트 입력 처리하기 ... 484
10.4 유사한 행동을 하는 여러 개의 버튼 ... 489
10.5 프레임 윈도우 ... 500
10.6 텍스트 컴포넌트 ... 502
Chapter 11 상속
11.1 상속에 대한 소개 ... 516
11.2 상속의 계층구조 ... 521
11.3 인스턴스 필드와 메소드 상속하기 ... 524
11.4 하위 클래스 생성하기 ... 531
11.5 하위 클래스를 상위 클래스로 변환하기 ... 532
11.6 접근 제어 ... 542
11.7 Object : 최상위 클래스 ... 546
Chapter 12 그래픽 사용자 인터페이스
12.1 상속을 이용하여 패널을 사용자 용도에 맞추기 ... 570
12.2 레이아웃 관리 ... 577
12.3 상속을 이용하여 프레임을 사용자 용도에 맞추기 ... 580
12.4 선택 ... 588
12.5 메뉴 ... 601
12.6 Swing 도큐멘테이션의 탐색 ... 608
Chapter 13 배열 리스트와 배열
13.1 배열 리스트 ... 624
13.2 간단한 배열 리스트 알고리즘 ... 629
13.3 배열 리스트에 숫자 저장하기 ... 634
13.4 배열을 선언하고 접근하기 ... 635
13.5 배열 복사하기 ... 639
13.6 부분적으로 채워지는 배열 ... 642
13.7 2차원 배열 ... 650
Chapter 14 예외처리
14.1 예외 발생 ... 668
14.2 확인되는 예외 ... 672
14.3 각자의 예외 유형 설계하기 ... 676
14.4 예외 발견하기 ... 677
14.5 finally 절 ... 680
14.6 완전한 예제 ... 682
Chapter 15 스트림
15.1 스트림·리더·라이터 ... 696
15.2 텍스트 파일 읽고 쓰기 ... 699
15.3 파일 다이얼로그 ... 701
15.4 암호화 프로그램 ... 702
15.5 커맨드라인 인자 ... 709
15.6 객체 스트림 ... 712
15.7 랜덤 액세스 ... 717
Chapter 16 시스템 설계
16.1 소프트웨어 생명주기 ... 738
16.2 클래스 발견해내기 ... 744
16.3 클래스간의 관계 ... 747
16.4 예제 : 구매서 출력하기 ... 754
16.5 예제 : 현금 자동 인출기 ... 768
Chapter 17 재귀 호출
17.1 삼각 수 ... 798
17.2 순열 ... 803
17.3 재귀 도움 메소드 ... 815
17.4 상호 재귀 ... 816
17.5 재귀의 효율성 ... 823
Chapter 18 정렬과 탐색
18.1 선택 정렬 ... 842
18.2 선택 정렬 알고리즘의 개요 ... 846
18.3 선택 정렬 알고리즘의 성능 분석 ... 849
18.4 합병 정렬 ... 852
18.5 합병 정렬 알고리즘의 분석 ... 856
18.6 탐색 ... 863
18.7 이진 탐색 ... 865
18.8 실제 데이터의 탐색과 정렬 ... 868
Chapter 19 자료 구조 소개
19.1 링크드리스트의 사용 ... 882
19.2 링크드리스트 구현 ... 887
19.3 추상적 자료형과 실제적 자료형 ... 900
19.4 스택과 큐 ... 904
Chapter 20 고급 자료 구조
20.1 집합 ... 918
20.2 맵 ... 923
20.3 해시 테이블 ... 926
20.4 해시 코드 계산 ... 935
20.5 이진 탐색 트리 ... 941
20.6 트리 집합과 트리 맵 사용하기 ... 953
Chapter 21 다중 스레딩
21.1 스레드 기초 ... 968
21.2 동기화 ... 979
21.3 데드락 피하기 ... 988
21.4 스레드의 응용 : 알고리즘 애니메이션 ... 998
Chapter 22 인터넷 네트워킹
22.1 인터넷 프로토콜 ... 1016
22.2 애플리케이션 레벨의 프로토콜 ... 1020
22.3 클라이언트 프로그램 ... 1024
22.4 서버 프로그램 ... 1027
22.5 URL 연결 ... 1037
22.6 폼 데이터 보내기 ... 1042
Chapter 23 관계형 데이터 베이스
23.1 데이터베이스 정보 구성하기 ... 1056
23.2 질의 ... 1065
23.3 데이터베이스 설치하기 ... 1076
23.4 자바로 데이터베이스 프로그래밍하기 ... 1083
23.5 사례 연구 : 은행 데이터베이스 ... 1093
23.6 고급 데이터베이스 개념 ... 1106
Chapter 24 XML
24.1 XML 태그와 문서 ... 1124
24.2 XML 문서의 파싱 ... 1138
24.3 XML 문서 만들기 ... 1157
24.4 문서 타입 정의 ... 1166
24.5 DTD를 사용한 파싱 ... 1178
Chapter 25 JSP와 서블릿
25.1 동적 웹 콘텐츠 ... 1198
25.2 자바 빈으로 계산 분리하기 ... 1200
25.3 요청 매개변수 다루기 ... 1212
25.4 HTML 폼 ... 1219
25.5 세션 추적 ... 1223
25.6 페이지 분기와 포워딩 ... 1231
25.7 3계층 애플리케이션 ... 1237
25.8 서블릿 ... 1248
25.9 JSP 페이지의 컴파일 ... 1256
Appendix
A1 자바 코딩 가이드라인 ... 1267
A2 자바 문법 요약 ... 1279
A3 자바 연산자 요약 ... 1293
A4 자바 키워드 요약 ... 1295
A5 자바 라이브러리 ... 1297
A6 유티코드에서의 기본 라틴, 라틴-1 코드 모음 ... 1365
A7 미터법에서의 변환상수 ... 1359
A8 HTML 요약 ... 1371
A9 툴(Tool) 요약 ... 1375
A10 javadoc 요약 ... 1379
A11 수체계 ... 1383
A12 비트 연산과 자리이동 연산 ... 1389
A13 UML 요약 ... 1393
A14 용어집 ... 1395
찾아 보기 ... 1414
더보기 닫기