



















































---


flatmap























|1|RMQ_HOST|String|M|
|---|---|---|---|
|1|RMQ_HOST|String|M|
|2|RMQ_PORT|int|M|
|3|RMQ_USER|String|M|
|4|RMQ_PASS|String|M|
|5|AIM_RMQ_NAME|String|M|
|6|AIS_RMQ_NAME|String|M|
|7|HB_RETRY_COUNT|int|M|
|8|LOCAL_UDP_PORT_MIN|int|M|
|9|LOCAL_UDP_PORT_MAX|int|M|
|10|SDP_LOCAL_IP|String|M|
|11|SDP_OWNER|String|M|
|12|SDP_SESSION_NAME|String|M|
|13|MEDIA_FILE_DIRECTORY|String|M|
|14|SPEECH_VOLUME_LEVEL|double|M|
|15|SILENCE_TIMEOUT|int|M|
|16|OUTGOING_SDP_MD_FORMAT_FILE|String|M|
|17|LONG_CALL_TIMEOUT|int|M|
|18|NO_RTP_TIMEOUT|int|M|
|19|SUPPRESS_TIMEOUT|long|M|
|20|RMQ_RCV_BUFFER_COUNT|int|M|
|21|RMQ_SND_BUFFER_COUNT|int|M|
|22|RMQ_CONSUMER_COUNT|int|M|
|23|NETTY_EVENT_LOOP_THREAD_COUNT|int|M|
|24|UDP_RCV_BUFFER_SIZE|int|M|
|25|UDP_SND_BUFFER_SIZE|int|M|
|26|PORT_ADDEND|int|M|
임종철
---












---






---














https://smartstore.naver.com/dsticker/products/5945088179







---
# 자바의 정석 목차
## Chapter 1. 자바를 시작하기 전에
- 01 자바(Java)란? ··2
- 02 자바의 역사 ·······3
- 03 자바의 특징 ·······4
- 04 자바 가상 머신(JVM) ·6
- 05 자바 개발도구(JDK) 설치하기 ·····7
- 06 자바 개발도구(JDK) 설정하기 ···11
- 07 자바 API문서 설치하기 ·····15
- 08 첫 번째 자바 프로그램 작성하기 ········16
- 09 자바 프로그램의 실행과정 18
- 10 이클립스 설치하기 ···19
- 11 이클립스로 자바 프로그램 개발하기 ··23
- 12 이클립스의 뷰, 퍼스펙티브, 워크스페이스 ··26
- 13 이클립스 단축키 ·······28
- 14 이클립스의 자동 완성 기능 30
- 15 주석(comment) ·······32
- 16 자주 발생하는 에러와 해결방법 34
- 17 책의 소스와 강의자료 다운로드 36
- 18 이클립스로 소스파일 가져오기 ··38
- 19 이클립스에서 소스파일 내보내기 ·······41
## Chapter 2. 변수
- 01 화면에 글자 출력하기 - print( )과 println( ) ········46
- 02 덧셈 뺄셈 계산하기 ··47
- 03 변수의 선언과 저장 48
- 04 변수의 타입 ······50
- 05 상수와 리터럴 ·51
- 06 리터럴의 타입과 접미사 ···52
- 07 문자 리터럴과 문자열 리터럴 ····53
- 08 문자열 결합 ·····54
- 09 두 변수의 값 바꾸기 55
- 10 기본형과 참조형 ·······56
- 11 기본형의 종류와 범위 ·······57
- 12 printf를 이용한 출력 ·······58
- 13 printf를 이용한 출력 예제 59
- 14 화면으로부터 입력받기 ·····61
- 15 정수형의 오버플로우 ·······62
- 16 부호있는 정수의 오버플로우 ····64
- 17 타입 간의 변환방법 ··66
- 연 습 문 제 ······67
## Chapter 3. 연산자
- 01 연산자와 피연산자 ···70
- 02 연산자의 종류 ·71
- 03 연산자의 우선순위 ···72
- 04 연산자의 결합규칙 ···73
- 05 증감 연산자 ++과 -- ······74
- 06 부호 연산자 ·····76
- 07 형변환 연산자 ·77
- 08 자동 형변환 ·····78
- 09 사칙 연산자 ·····79
- 10 산술 변환 ········80
- 11 Math.round( )로 반올림하기 ·····83
- 12 나머지 연산자 ·84
- 13 비교 연산자 ······85
- 14 문자열의 비교 ·86
- 15 논리 연산자 && || ! ······87
- 16 논리 부정 연산자 ·····90
- 17 조건 연산자 ·····91
- 18 대입 연산자 ······93
- 19 복합 대입 연산자 ·······94
- 연 습 문 제 ······95
## Chapter 4. 조건문과 반복문
- 01 if문 ·98
- 02 조건식의 다양한 예 ··99
- 03 블럭{} ···100
- 04 if - else문 ······101
- 05 if - else if문 ···102
- 06 if - else if문 예제 ···103
- 07 중첩 if문 ········104
- 08 중첩 if문 예제 ········105
- 09 switch문 ·······106
- 10 switch문의 제약조건 ·······107
- 11 switch문의 제약조건 예제 ······108
- 12 임의의 정수만들기 Math.random( ) 109
- 13 for문 ·····110
- 14 for문 예제 ·····112
- 15 중첩 for문 ·····113
- 16 while문 115
- 17 while문 예제1 ·······116
- 18 while문 예제2 ·······117
- 19 do - while문 ··118
- 20 break문 ········119
- 21 continue문 ···120
- 22 break문과 continue문 예제 ··121
- 23 이름 붙은 반복문 ···122
- 24 이름 붙은 반복문 예제 ···123
- 연 습 문 제 ····125
## Chapter 5. 배열
- 01 배열이란? ·····130
- 02 배열의 선언과 생성 131
- 03 배열의 인덱스 ········132
- 04 배열의 길이(배열이름.length) ·133
- 05 배열의 초기화 ········134
- 06 배열의 출력 ···135
- 07 배열의 출력 예제 ···136
- 08 배열의 활용(1) - 총합과 평균 137
- 09 배열의 활용(2) - 최대값과 최소값 ··138
- 10 배열의 활용(3) - 섞기(shuffle) ·······139
- 11 배열의 활용(4) - 로또 번호 만들기 ··140
- 12 String배열의 선언과 생성 ·······141
- 13 String배열의 초기화 ·······142
- 14 String클래스 ·143
- 15 String클래스의 주요 메서드 ····144
- 16 커맨드 라인을 통해 입력받기 ··145
- 17 이클립스에서 커맨드라인 매개변수 입력하기 ····146
- 18 2차원 배열의 선언 ·147
- 19 2차원 배열의 인덱스 ·······148
- 20 2차원 배열의 초기화 ·······149
- 21 2차원 배열의 초기화 예제1 ····150
- 22 2차원 배열의 초기화 예제2 ····151
- 23 2차원 배열의 초기화 예제3 ····152
- 24 Arrays로 배열 다루기 ····153
- 연 습 문 제 ····154
## Chapter 6. 객체지향 프로그래밍 I
- 01 객체지향 언어 ········160
- 02 클래스와 객체 ········161
- 03 객체의 구성요소 - 속성과 기능 ······162
- 04 객체와 인스턴스 ······163
- 05 한 파일에 여러 클래스 작성하기 ······164
- 06 객체의 생성과 사용 165
- 07 객체의 생성과 사용 예제 168
- 08 객체배열 ········169
- 09 클래스의 정의(1) - 데이터와 함수의 결합 ········170
- 10 클래스의 정의(2) - 사용자 정의 타입 ······171
- 11 선언위치에 따른 변수의 종류 ··173
- 12 클래스 변수와 인스턴스 변수 ··174
- 13 클래스 변수와 인스턴스 변수 예제 ··175
- 14 메서드란? ····176
- 15 메서드의 선언부 ·····177
- 16 메서드의 구현부 ·····178
- 17 메서드의 호출 ········179
- 18 메서드의 실행 흐름 180
- 19 메서드의 실행 흐름 예제 ·181
- 20 return문 ········182
- 21 반환값 ··183
- 22 호출스택(call stack) ······184
- 23 기본형 매개변수 ·····185
- 24 참조형 매개변수 ·····186
- 25 참조형 반환타입 ···187
- 26 static 메서드와 인스턴스 메서드 ·····188
- 27 static 메서드와 인스턴스 메서드 예제 ·····189
- 28 static을 언제 붙여야 할까? ······190
- 29 메서드 간의 호출과 참조 191
- 30 오버로딩(overloading) ··192
- 31 오버로딩(overloading) 예제 ··194
- 32 생성자(constructor) ·····195
- 33 기본 생성자(default constructor) ·196
- 34 매개변수가 있는 생성자 ·198
- 35 매개변수가 있는 생성자 예제 ··199
- 36 생성자에서 다른 생성자 호출하기 - this( ) ········200
- 37 객체 자신을 가리키는 참조변수 - this ····202
- 38 변수의 초기화 ········203
- 39 멤버변수의 초기화 204
- 40 멤버변수의 초기화 예제1 ········205
- 41 멤버변수의 초기화 예제2 ········206
- 연 습 문 제 ····207
## Chapter 7. 객체지향 프로그래밍 Ⅱ
- 01 상속 ······222
- 02 상속 예제 ······224
- 03 클래스 간의 관계 - 포함관계 ·225
- 04 클래스 간의 관계 결정하기 ····226
- 05 단일 상속(single inheritance) ········227
- 06 Object클래스 - 모든 클래스의 조상 ·······228
- 07 오버라이딩(overriding) ··229
- 08 오버라이딩의 조건 ·230
- 09 오버로딩 vs. 오버라이딩 231
- 10 참조변수 super ·····232
- 11 super( ) - 조상의 생성자 ······233
- 12 패키지(package) ··234
- 13 패키지의 선언 ········235
- 14 클래스 패스(classpath) ·236
- 15 import문 ·······237
- 16 static import문 ····238
- 17 제어자(modifier) ····239
- 18 static - 클래스의, 공통적인 ··240
- 19 final - 마지막의, 변경될 수 없는 ··241
- 20 abstract - 추상의, 미완성의 ·242
- 21 접근 제어자(access modifier) ········243
- 22 캡슐화와 접근 제어자 ·····244
- 23 다형성(polymorphism) ···246
- 24 참조변수의 형변환 ··248
- 25 참조변수의 형변환 예제 ·249
- 26 instanceof 연산자 ·250
- 27 매개변수의 다형성 ··251
- 28 매개변수의 다형성 예제 ·253
- 29 여러 종류의 객체를 배열로 다루기 ··254
- 30 여러 종류의 객체를 배열로 다루기 예제 ··255
- 31 추상 클래스(abstract class) ··257
- 32 추상 메서드(abstract method) ·······258
- 41 디폴트 메서드와 static메서드 예제 ·269
- 42 내부 클래스(inner class) ········270
- 43 내부 클래스의 종류와 특징 ·····271
- 44 내부 클래스의 선언 272
- 45 내부 클래스의 제어자와 접근성 ·······273
- 46 내부 클래스의 제어자와 접근성 예제1 ·····274
- 47 내부 클래스의 제어자와 접근성 예제2 ······275
- 48 내부 클래스의 제어자와 접근성 예제3 ·····276
- 49 내부 클래스의 제어자와 접근성 예제4 ·····277
- 50 내부 클래스의 제어자와 접근성 예제5 ·····278
- 51 익명 클래스(anonymous class) ·····279
- 52 익명 클래스(anonymous class) 예제 ·····280
- 연 습 문 제 ····281
## Chatper 8. 예외처리
- 01 프로그램 오류 ········292
- 02 예외 클래스의 계층구조 ·293
- 03 Exception과 RuntimeException ···294
- 04 예외 처리하기 - try - catch문 295
- 05 try - catch문에서의 흐름 296
- 06 예외의 발생과 catch블럭 ········297
- 07 printStackTrace( )와 getMessage( ) ·····299
- 08 멀티 catch블럭 ·····300
- 09 예외 발생시키기 ·····301
- 10 checked예외, unchecked예외 ·····302
- 11 메서드에 예외 선언하기 ·303
- 12 메서드에 예외 선언하기 예제1 ········304
- 13 메서드에 예외 선언하기 예제2 ········305
- 14 finally블럭 ·····306
- 15 사용자 정의 예외 만들기 307
- 16 사용자 정의 예외 만들기 예제 308
- 17 예외 되던지기(exception re - throwing) ·310
- 18 연결된 예외(chained exception) ···312
- 19 연결된 예외(chained exception) 예제 ···314
- 연 습 문 제 ····316
## Chapter 9. java.lang패키지와유용한 클래스
- 01 Object클래스 324
- 02 Object클래스의 메서드 - equals( ) 325
- 03 equals( )의 오버라이딩 ··326
- 04 Object클래스의 메서드 - hashCode( ) ···327
- 05 Object클래스의 메서드 - toString( ) ·······328
- 06 toString( )의 오버라이딩 329
- 07 String클래스 ·330
- 08 문자열(String)의 비교 ·····331
- 09 문자열 리터럴(String리터럴) ···332
- 10 빈 문자열(empty string) 333
- 11 String클래스의 생성자와 메서드 ·····334
- 12 join( )과 StringJoiner ····337
- 13 문자열과 기본형 간의 변환 ·····338
- 14 문자열과 기본형 간의 변환 예제 ······339
- 15 StringBuffer클래스 ········340
- 16 StringBuffer의 생성자 ···341
- 17 StringBuffer의 변경 ·······342
- 18 StringBuffer의 비교 ·······343
- 19 StringBuffer의 생성자와 메서드 ······344
- 20 StringBuffer의 생성자와 메서드 예제 ······346
- 21 StringBuilder ········347
- 22 Math클래스 ···348
- 23 Math의 메서드 ·······349
- 24 Math의 메서드 예제 ·······350
- 25 래퍼(
) 클래스 ····351
- 26 래퍼(wrapper) 클래스 예제 ····352
- 27 Number클래스 ······353
- 28 문자열을 숫자로 변환하기 ·······354
- 29 문자열을 숫자로 변환하기 예제 ·······355
- 30 오토박싱 & 언박싱 ·356
- 31 오토박싱 & 언박싱 예제 ·357
- 연 습 문 제 ····358
## Chapter 10. 날짜와 시간 & 형식화
- 01 날짜와 시간 ···366
- 02 Calendar클래스 ····367
- 03 Calendar 예제1 ···368
- 04 Calendar 예제2 ···370
- 05 Calendar 예제3 ···371
- 06 Calendar 예제4 ···372
- 07 Calendar 예제5 ···373
- 08 Date와 Calendar간의 변환 ····374
- 09 형식화 클래스 ········375
- 10 DecimalFormat ····376
- 11 DecimalFormat 예제1 ··377
- 12 DecimalFormat 예제2 ··378
- 13 SimpleDateFormat ·······379
- 14 SimpleDateFormat 예제1 ·····380
- 15 SimpleDateFormat 예제2 ·····381
- 16 SimpleDateFormat 예제3 ·····382
- 연 습 문 제 ····383
## Chapter 11. 컬렉션 프레임웍
- 01 컬렉션 프레임웍 ·····388
- 02 컬렉션 프레임웍의 핵심 인터페이스 389
- 03 Collection인터페이스 ······390
- 04 List인터페이스 ·······391
- 05 Set인터페이스 ·······392
- 06 Map인터페이스 ·····393
- 07 ArrayList ······394
- 08 ArrayList의 메서드 ········395
- 09 ArrayList 예제 ······396
- 10 ArrayList의 추가와 삭제 398
- 11 Java API소스보기 ·399
- 12 LinkedList ····400
- 13 LinkedList의 추가와 삭제 ······401
- 14 ArrayList와 LinkedList의 비교 ·······402
- 15 Stack과 Queue ·····403
- 16 Stack과 Queue의 메서드 ······404
- 17 Stack과 Queue 예제 ····405
- 18 인터페이스를 구현한 클래스 찾기 ····406
- 19 Stack과 Queue의 활용 ·407
- 20 Stack과 Queue의 활용 예제1 ········408
- 21 Stack과 Queue의 활용 예제2 ········409
- 22 Iterator, ListIterator, Enumeration 411
- 23 Iterator, ListIterator, Enumeration 예제 · 412
- 24 Map과 Iterator ······413
- 25 Arrays의 메서드(1) - 복사 ······414
- 26 Arrays의 메서드(2) - 채우기, 정렬, 검색 ·415
- 27 Arrays의 메서드(3) - 비교와 출력 ··416
- 28 Arrays의 메서드(4) - 변환 ·····417
- 29 Arrays의 메서드 예제 ····418
- 30 Comparator와 Comparable ·420
- 31 Comparator와 Comparable 예제 ·421
- 32 Integer와 Comparable ·422
- 33 Integer와 Comparable 예제 ·423
- 34 HashSet ·······424
- 35 HashSet 예제1 ·····425
- 36 HashSet 예제2 ·····426
- 37 HashSet 예제3 ·····427
- 38 HashSet 예제4 ·····428
- 39 TreeSet ········429
- 40 이진 탐색 트리(binary search tree) ·······430
- 41 이진 탐색 트리의 저장과정 ·····431
- 42 TreeSet의 메서드 ·432
- 43 TreeSet 예제1 ······433
- 44 TreeSet 예제2 ······434
- 45 TreeSet 예제3 ······435
- 46 HashMap과 Hashtable 436
- 47 HashMap의 키(key)와 값(value) ···437
- 48 HashMap의 메서드 ·······438
- 49 HashMap 예제1 ···439
- 50 HashMap 예제2 ···441
- 51 HashMap 예제3 ···442
- 52 Collections의 메서드 - 동기화 ·······443
- 53 Collections의 메서드 - 변경불가, 싱글톤 444
- 54 Collections의 메서드 - 단일 컬렉션 ········445
- 55 Collections 예제 ···446
- 56 컬렉션 클래스 정리 & 요약 ·····448
- 연 습 문 제 ·