반응형




 

Java의 정석 3rd Edition


남궁 성 지음 | 도우출판 | 2016.01.27 출간



Chapter 1 자바를 시작하기 전에 

1. 자바(Java Programming Language) / 2 
    1.1 자바란? / 2 
    1.2 자바의 역사 / 2
    1.3 자바언어의 특징 / 3 
    1.4 JVM(Java Virtual Machine) / 4 

2. 자바개발환경 구축하기 / 6 
    2.1 자바 개발도구(JDK)설치하기 / 6 
    2.2 Java API문서 설치하기 / 7 

3. 자바로 프로그램작성하기 / 8 
    3.1 Hello.java / 8 
    3.2 자주 발생하는 에러와 해결방법 / 11 
    3.3 자바프로그램의 실행과정 / 12 
    3.4 주석(comment) / 13 
    3.5 이 책으로 공부하는 방법 / 14 


Chapter 2 변수(Variable) 

1. 변수와 상수 / 20 
    1.1 변수란? / 20 
    1.2 변수의 선언과 초기화 / 20 
    1.3 변수의 명명규칙 /25 

2. 변수의 타입 / 27 
    2.1 기본형(primitive type) / 28 
    2.2 상수와 리터럴(constant & literal) / 30 
    2.3 형식화된 출력 - printf() / 36 
    2.4 화면에서 입력받기 - Scanner / 40 

3. 진법 / 42 
    3.1 10진법과 2진법 / 42 
    3.2 비트(bit)와 바이트(byte) / 43 
    3.3 8진법과 16진법 / 44 
    3.4 정수의 진법 변환 / 46 
    3.5 실수의 진법변환 / 48 
    3.6 음수의 2진 표현 - 2의 보수법 / 50 

4. 기본형(primitive type) / 55 
    4.1 논리형 - boolean / 55 
    4.2 문자형 - char / 55 
    4.3 정수형 - byte, short, int, long / 62 
    4.4 실수형 - float, double / 68 

5. 형변환 / 74 
    5.1. 형변환(캐스팅, casting)이란? / 74 
    5.2 형변환 방법 / 74 
    5.3 정수형 간의 형변환 / 75 
    5.4 실수형 간의 형변환 / 77 
    5.5 정수형과 실수형간의 형변환 / 80 
    5.6 자동 형변환 / 82 


Chapter 3 연산자(Operator) 

1. 연산자(operator) / 86     
    1.1 연산자와 피연산자 / 86 
    1.2 식(式)과 대입연산자 / 86 
    1.3 연산자의 종류 / 87 
    1.4 연산자의 우선순위와 결합규칙 / 88 
    1.5 산술 변환(usual arithmetic conversion) / 91 

2. 단항 연산자 / 93 
    2.1 증감 연산자 - ++, -- / 93 
    2.2 부호 연산자 - +, - / 96 

3. 산술 연산자 / 97 
    3.1 사칙 연산자 - +, -, *, / / 97 
    3.2 나머지 연산자 - % / 108 

4. 비교 연산자 / 109 
    4.1 대소비교 연산자 - <, >, <=, >= / 109 
    4.2 등가비교 연산자 - ==, != / 109 

5. 논리 연산자 / 114 
    5.1 논리 연산자 - &&, ||, ! / 114 
    5.2 비트 연산자 - &, |, ^, ~, <<, >> / 121 

6. 그 외의 연산자 / 130 
    6.1 조건 연산자 - ? : / 130 
    6.2 대입 연산자 - =, op= / 132 


Chapter 4 조건문과 반복문 


1. 조건문 - if, switch / 136 
    1.1 if문 / 136 
    1.2 if-else문 / 140 
    1.3 if-else if문 / 141 
    1.4 중첩 if문 / 144 
    1.5 switch문 / 146 

2. 반복문 - for, while, do-while / 156 
    2.1 for문 / 156 
    2.2 while문 / 167 
    2.3 do-while문 / 173 
    2.4 break문 / 175 
    2.5 continue문 / 176 
    2.6 이름 붙은 반복문 / 178 


Chapter 5 배열(Array) 

1. 배열(array) / 182 
    1.1 배열(array)이란? / 182 
    1.2 배열의 선언과 생성 / 183 
    1.3 배열의 길이와 인덱스 / 184 
    1.4 배열의 초기화 / 189 
    1.5 배열의 복사 / 192 
    1.6 배열의 활용 / 196 

2. String배열 / 205 
    2.1 String배열의 선언과 생성 / 205 
    2.2 String배열의 초기화 / 205 
    2.3 char배열과 String클래스 / 208 
    2.4 커맨드 라인을 통해 입력받기 / 211 

3. 다차원 배열 / 214 
    3.1 2차원 배열의 선언과 인덱스 / 214 
    3.2 2차원 배열의 초기화 / 215 
    3.3 가변 배열 / 219 
    3.4 다차원 배열의 활용 / 220 


Chapter 6 객체지향 프로그래밍 I 

1. 객체지향언어 / 230 
    1.1 객체지향언어의 역사 / 230 
    1.2 객체지향언어 / 230 

2. 클래스와 객체 / 231 
    2.1 클래스와 객체의 정의와 용도 / 231 
    2.2 객체와 인스턴스 / 232 
    2.3 객체의 구성요소 - 속성과 기능 / 233 
    2.4 인스턴스의 생성과 사용 / 234 
    2.5 객체 배열 / 241
    2.6 클래스의 또 다른 정의 / 242 

3. 변수와 메서드 / 246 
    3.1 선언위치에 따른 변수의 종류 / 246 
    3.2 클래스변수와 인스턴스변수 / 247 
    3.3 메서드 / 249 
    3.4 메서드의 선언과 구현 / 252 
    3.5 메서드의 호출 / 254 
    3.6 return문 / 258 
    3.7 JVM의 메모리구조 / 261 
    3.8 기본형 매개변수와 참조형 매개변수 / 264 
    3.9 참조형 반환타입 / 268 
    3.10 재귀호출(recursive call) / 270 
    3.11 클래스 메서드(static메서드)와 인스턴스 메서드 / 278 
    3.12 클래스 멤버와 인스턴스 멤버간의 참조와 호출 / 280 

4. 오버로딩(overloading) / 283 
    4.1 오버로딩이란? / 283 
    4.2 오버로딩의 조건 / 283 
    4.3 오버로딩의 예 / 283 
    4.4 오버로딩의 장점 / 285     
    4.5 가변인자(varargs)와 오버로딩 / 287 

5. 생성자(constructor) / 291 
    5.1 생성자란? / 291 
    5.2 기본 생성자(default constructor) / 292 
    5.3 매개변수가 있는 생성자 / 294 
    5.4 생성자에서 다른 생성자 호출하기 - this(), this / 295 
    5.5 생성자를 이용한 인스턴스의 복사 / 298 


6. 변수의 초기화 / 300 

6.1 변수의 초기화 / 300 
6.2 명시적 초기화(explicit initialization) / 301 
6.3 초기화 블럭(initialization block) / 302 
6.4 멤버변수의 초기화 시기와 순서 / 304 



Chapter 7 객체지향 프로그래밍 II 

1. 상속(inheritance) / 310 
    1.1 상속의 정의와 장점 / 310 
    1.2 클래스간의 관계 - 포함관계 / 316 
    1.3 클래스간의 관계 결정하기 / 317 
    1.4 단일상속(single inheritance) / 324 
    1.5 Object클래스 - 모든 클래스의 조상 / 325 

2. 오버라이딩(overriding) / 327 
    2.1 오버라이딩이란? / 327 
    2.2 오버라이딩의 조건 / 328 
    2.3 오버로딩 vs. 오버라이딩 / 329 
    2.4 super / 330 
    2.5 super() - 조상 클래스의 생성자 / 332 

3. package와 import / 336 
    3.1 패키지(package) / 336 
    3.2 패키지의 선언 / 337 
    3.3 import문 / 340 
    3.4 import문의 선언 / 340 
    3.5 static import문 / 342 

4. 제어자(modifier) / 344 
    4.1 제어자란? / 344 
    4.2 static - 클래스의, 공통적인 / 344 
    4.3 final - 마지막의, 변경될 수 없는 / 345 
    4.4 abstract - 추상의, 미완성의 / 347 
    4.5 접근 제어자(access modifier) / 348 
    4.6 제어자(modifier)의 조합 / 353 

5. 다형성(polymorphism) / 354 
    5.1 다형성이란? / 354 
    5.2 참조변수의 형변환 / 357 
    5.3 instanceof연산자 / 362 
    5.4 참조변수와 인스턴스의 연결 / 364 
    5.5 매개변수의 다형성 / 367 
    5.6 여러 종류의 객체를 배열로 다루기 / 370 

6. 추상클래스(abstract class) / 375 
    6.1 추상클래스란? / 375 
    6.2 추상메서드(abstract method) / 376 
    6.3 추상클래스의 작성 / 377 

7. 인터페이스(interface) / 381 
    7.1 인터페이스란? / 381 
    7.2 인터페이스의 작성 / 381 
    7.3 인터페이스의 상속 / 382 
    7.4 인터페이스의 구현 / 382 
    7.5 인터페이스를 이용한 다중상속 / 385 
    7.6 인터페이스를 이용한 다형성 / 387 
    7.7 인터페이스의 장점 / 390 
    7.8 인터페이스의 이해 / 397 
    7.9 디폴트 메서드와 static메서드 / 401 

8. 내부 클래스(inner class) 403 
    8.1 내부 클래스란? / 403 
    8.2 내부 클래스의 종류와 특징 / 404 
    8.3 내부 클래스의 선언 / 404 
    8.4 내부 클래스의 제어자와 접근성 / 405 
    8.5 익명 클래스(anonymous class) / 410 


Chapter 8 예외처리(Exception Handling) 

1. 예외처리(exception handling) / 414 
    1.1 프로그램 오류 / 414 
    1.2 예외 클래스의 계층구조 / 415 
    1.3 예외처리하기 - try-catch문 / 416 
    1.4 try-catch문에서의 흐름 / 420 
    1.5 예외의 발생과 catch블럭 / 421 
    1.6 예외 발생시키기 / 425 
    1.7 메서드에 예외 선언하기 / 427 
    1.8 finally블럭 / 434 
    1.9 자동 자원 반환 - try-with-resources문 / 436 
    1.10 사용자정의 예외 만들기 / 439 
    1.11 예외 되던지기(exception re-throwing) / 442 
    1.12 연결된 예외(chained exception) / 444 



Chapter 9 java.lang패키지와 유용한 클래스 

1. java.lang패키지 / 450 
    1.1 Object클래스 / 450 
    1.2 String클래스 / 464 
    1.3 StringBuffer클래스와 StringBuilder클래스 / 477 
    1.4 Math클래스 / 483 
    1.5 래퍼(wrapper) 클래스 / 490 

2. 유용한 클래스 / 496 
    2.1 java.util.Objects클래스 / 496 
    2.2 java.util.Random클래스 / 500 
    2.3 정규식(Regular Expression) - java.util.regex패키지 / 505 
    2.4 java.util.Scanner클래스 / 510 
    2.5 java.util.StringTokenizer클래스 / 514 
    2.6 java.math.BigInteger클래스 / 518 
    2.7 java.math.BigDecimal클래스 / 521 



Chapter 10 날짜와 시간 & 형식화 

1. 날짜와 시간 / 528 
    1.1 Calendar와 Date / 528 

2. 형식화 클래스 / 540 
    2.1 DecimalFormat / 540 
    2.2 SimpleDateFormat / 544 
    2.3 ChoiceFormat / 548 
    2.4 MessageFormat / 549 

3. java.time패키지 / 552 
    3.1 java.time패키지의 핵심 클래스 / 552 
    3.2 LocalDate와 LocalTime / 555 
    3.3 Instant / 560 
    3.4 LocalDateTime과 ZonedDateTime / 561 
    3.5 TemporalAdjusters / 565 
    3.6 Period와 Duration / 567 
    3.7 파싱과 포맷 / 572 



Chapter 11 컬렉션 프레임웍 

1. 컬렉션 프레임웍(Collection Framework) / 578 
    1.1 컬렉션 프레임웍의 핵심 인터페이스 / 578 
    1.2 ArrayList / 584 
    1.3 LinkedList / 596 
    1.4 Stack과 Queue / 604 
    1.5 Iterator, ListIterator, Enumeration / 614 
    1.6 Arrays / 624 
    1.7 Comparator와 Comparable / 628 
    1.8 HashSet / 631 
    1.9 TreeSet / 638 
    1.10 HashMap과 Hashtable / 644 
    1.11 TreeMap / 654 
    1.12 Properties / 658 
    1.13 Collections / 664 
    1.14 컬렉션 클래스 정리 & 요약 / 667 
    



Chapter 12 지네릭스, 열거형, 애너테이션 

1. 지네릭스(Generics) / 670 
    1.1 지네릭스란? / 670 
    1.2 지네릭 클래스의 선언 / 670 
    1.3 지네릭 클래스의 객체 생성과 사용 / 674 
    1.4 제한된 지네릭 클래스 / 676 
    1.5 와일드 카드 / 678 
    1.6 지네릭 메서드 / 684 
    1.7 지네릭 타입의 형변환 / 687 
    1.8 지네릭 타입의 제거 / 689 

2. 열거형(enums) / 691 
    2.1 열거형이란? / 691 
    2.2 열거형의 정의와 사용 / 692 
    2.3 열거형에 멤버 추가하기 / 695 
    2.4 열거형의 이해 / 698 

3. 애너테이션(annotation) / 702 
    3.1 애너테이션이란? / 702 
    3.2 표준 애너테이션 / 703 
    3.3 메타 애너테이션 / 711 
    3.4 애너테이션 타입 정의하기 / 715 



Chapter 13 쓰레드(Thread) 

1. 프로세스와 쓰레드 / 722 

2. 쓰레드의 구현과 실행 / 724 

3. start()와 run() / 728 

4. 싱글쓰레드와 멀티쓰레드 / 732 

5. 쓰레드의 우선순위 / 738 

6. 쓰레드 그룹(thread group) / 741 

7. 데몬 쓰레드(daemon thread) / 744 

8. 쓰레드의 실행제어 / 748 

9. 쓰레드의 동기화 / 767 
    9.1 synchronized를 이용한 동기화 / 767 
    9.2 wait()과 notify() / 771 
    9.3 Lock과 Condition을 이용한 동기화 / 779 
    9.4 volatile / 786 
    9.5 fork & join 프레임웍 / 788 




Chapter 14 람다와 스트림 

1. 람다식 / 794 
    1.1 람다식이란? / 794 
    1.2 람다식 작성하기 / 795 
    1.3 함수형 인터페이스(Functional Interface) / 797 
    1.4 java.util.function패키지 / 803 
    1.5 Function의 합성과 Predicate의 결합 / 809 
    1.6 메서드 참조 / 813 

2. 스트림(stream) / 815 
    2.1 스트림이란? / 815 
    2.2 스트림 만들기 / 819 
    2.3 스트림의 중간연산 / 824 
    2.4 Optional와 OptionalInt / 837 
    2.5 스트림의 최종연산 / 842 
    2.6 collect() / 846 
    2.7 Collector구현하기 / 862 
    2.8 스트림의 변환 / 864 



Chapter 15 입출력(I/O) 

1. 자바에서의 입출력 / 868 
    1.1 입출력이란? / 868 
    1.2 스트림(stream) / 868 
    1.3 바이트기반 스트림 - InputStream, OutputStream / 869 
    1.4 보조스트림 / 871 
    1.5 문자기반 스트림 - Reader, Writer / 872 

2. 바이트기반 스트림 / 874 
    2.1 InputStream과 OutputStream / 874 
    2.2 ByteArrayInputStream과 ByteArrayOutputStream / 875 
    2.3 FileInputStream과 FileOutputStream / 879 

3. 바이트기반의 보조스트림 / 882 
    3.1 FilterInputStream과 FilterOutputStream / 882 
    3.2 BufferedInputStream과 BufferedOutputStream / 883 
    3.3 DataInputStream과 DataOutputStream / 886 
    3.4 SequenceInputStream / 892 
    3.5 PrintStream / 894 

4. 문자기반 스트림 / 898 
    4.1 Reader와 Writer / 898 
    4.2 FileReader와 FileWriter / 899 
    4.3 PipedReader와 PipedWriter / 901 
    4.4 StringReader와 StringWriter / 903 

5. 문자기반의 보조스트림 / 904 
    5.1 BufferedReader와 BufferedWriter / 904 
    5.2 InputStreamReader와 OutputStreamWriter / 905 

6. 표준입출력과 File / 907 
    6.1 표준입출력 - System.in, System.out, System.err / 907 
    6.2 표준입출력의 대상변경 - setOut(), setErr(), setIn() / 909 
    6.3 RandomAccessFile / 911 
    6.4 File / 915 

7. 직렬화(Serialization) / 934 
    7.1 직렬화란? / 934 
    7.2 ObjectInputStream과 ObjectOutputStream / 935 
    7.3 직렬화가 가능한 클래스 만들기 - Serializable, transient / 937 
    7.4 직렬화가능한 클래스의 버전관리 / 943 



Chapter 16 네트워킹(Networking) 

1. 네트워킹(Networking) / 946 
    1.1 클라이언트/서버(client/sever) / 946 
    1.2 IP주소(IP address) / 948 
    1.3 InetAddress / 949 
    1.4 URL(Uniform Resource Location) / 951 
    1.5 URLConnection / 954 

2. 소켓 프로그래밍 / 959 
    2.1 TCP와 UDP / 959 
    2.2 TCP소켓 프로그래밍 / 960 
    2.3 UDP소켓 프로그래밍 / 978

반응형
반응형


아 배고프다
왼쪽이 행복했지만 다이어트 성공한 고경표를 보며 식욕을 억제해본다


하 나도 다이어트 성공해서 저런 날렵함좀 느껴보자
반응형

'다이어트 > 다이어트자극' 카테고리의 다른 글

엑소 수호 다이어트 자극!!  (0) 2016.06.02
엑소 시우민 다이어트!!  (0) 2016.04.05
황정음 다이어트!!  (0) 2013.02.18
송혜교의 걷기 다이어트!!!  (0) 2013.02.02
안선영 다이어트!!  (0) 2013.01.31
반응형

세상에 나쁜개는 없다
넝쿨째 굴러온 깡패들


상여자 몽이와 요조숙남 달달이의 아슬아슬한 동거!

몽이와 달달이는 하루에도 몇번씩 목숨을 걸고 싸웁니다ㅠㅠ

문제는 거기서 끝나지 않고 양말을 먹어서 결국 수술을 여러번한 몽이와 몸을 만지면 극도로 흥분해 주인을 무는 달달이ㅠ

대체 왜 이런 문제행동이 발생한 것일까요??






과연 강형욱훈련사님은 어떻게 문제행동을 교정할까요??

양말먹는 몽이를 위한 솔루션은 놀랍게도 양말파티?!

양말 노즈워크를 통해 먹을 수 있는것과 먹지 말아야 할 것을 몽이가 자연스럽게 알아갈 수 있게 유도해주는게 효과가 좋다고 하네요


몸만지는 것을 극도로 싫어하는 달달이를 위한 솔루션은 클리커 훈련법인데요

한번에 모든것을 바꾸려고 하기 보다는 보호자와의 스킨십을 좋아하게 만들면서 천천히 교정하는 것이 좋다고 합니다.

클리커소리에 맞춰 즐거운 기억을 만들어 주고 달달이가 흥분하는 행동이 나올 때마다 조금씩 교정해 가는것입니다.


몽이와 달달이 싸우지말고 행복하게 생활하길~~



반응형
반응형

세상에 나쁜개는 없다
아기 따라 우는 개 멍이


네가 울면 나도 운다~~~

오늘의 주인공은 아기를 따라 우는 개 멍이!!입니다

멍이는 작은주인 하엘이가 울면 비명을 지르며 따라 우는 문제행동을 보입니다.

멍이는 하엘이가 6개월 때부터 따라울기 시작해 2년째 하엘이가 울면 쌍둥이처럼 따라운다고 합니다.

엄마는 우는 하엘이와 멍이 둘다 달래주느라 너무 힘든 고통의 시간을 보내고 있는데요

85년생!! 반려동물 훈련사 강형욱 훈련사님은 어떻게 멍이의 습관을 바꿔줄까요??




멍이는 하엘이의 감정을 나누기 위해 그동안 함께울어준 것이었네요ㅠㅠ (역시 강아지가 최고야)

강형욱 훈련사님은 클리커교육을 통해 멍이의 행동을 교정하네요!!


<클리커 교육>

- 클리커란 누르면 '딸깍' 소리가 나는 기구로 '적절한 때'를 알려주는 역할을 합니다.

- 클리커 교육은 알맞은 행동을 한 순간에 클릭과 보상을 반복함으로써 특정 행동을 강화하는 교육이라고 합니다.

( 알맞은 행동 -> 클리커 소리 + 간식 &칭찬 -> 스스로 행동 강화_

** 단계별 교육은 동영상을 확인하세요^^ **


멍이야 앞으로는 울지말고 하엘이랑 행복하게 지내렴~~



반응형
반응형

세상에 나쁜개는 없다
위험한 동거! 베로 vs 레오

오늘의 주인공은 위험한 동거를 하고있는 동갑내기 베로와 레오이야기 입니다.

벨이 울리면 피를 볼때까지 싸우는 베로와 레오!

일주일에 3~4회는 서로 물어서 피를 볼정도로 싸운다고 하는데요

도대체 왜싸우는 걸까요?















<다견가정을 위한 Tip!>

1. 각자의 생활공간은 존중해주세요

2. 놀때는 함께놀더라도 쉬는 공간만큼은 분리해주는 것이 좋습니다.

3. 배변판을 분리하거나 배변장소를 따로 교육시켜 주는 것이 좋습니다.


PS. 스트레스를 많이 받은강아지는 흙목욕하는 것이 좋다고 하네요!!


사람이나 강아지나 스트레스엔 역시 자연으로 돌아가는게 좋은가봐요ㅎㅎ

저희강아지도 산에한번 데려가서 흙목욕 꼭 시켜줘야겠어요!

반응형
반응형

세상에 나쁜개는 없다
5년째 만지지 못한 개 진돌이


오늘의 이야기는 경기도 하남에서 70여마리의 유기견과 생활중인 유기견들의 엄마 배우 이용녀씨의 이야기입니다.

5년동안 만지지 못한 진돌이때문에 방송을 신청하셨다고 하는데요 

과연 어떤일이 있는지 동영상을 통해 만나볼까요






반응형
반응형
아침식사

반응형
반응형

세상에 나쁜개는 없다
위험한 말티즈 형제




오늘의 주인공은 말티즈 형제 은비와 까비입니다.

집안 곳곳에 배변하는 은비와 보호자를 물며 공격하는 까비

과연 이형제의 문제행동은 왜 시작된 것일까요








반응형

+ Recent posts