본문바로가기

 Java의 정석 동영상 강좌

 개발관련  2014. 3. 13. 12:13  창조컨서턴트

 

 

Java의 정석 동영상 강좌

자바의 기초 프로그래 강좌

 

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문서 설치하기 / 8 
3. 자바로 프로그램작성하기 / 9 
3.1 Hello.java / 9 
3.2 자주 발생하는 에러와 해결방법 / 12 
3.3 자바프로그램의 실행과정 / 13 
3.4 주석(comment) / 14 

Chapter 2 변수(Variable) 
1. 변수(variable) / 18 
1.1 변수란? / 18 
1.2 변수의 선언 / 18 
1.3 명명규칙(naming convention) /19 
2. 변수의 타입 / 20 
2.1 기본형(primitive type) / 22 
2.2 논리형 - boolean / 23 
2.3 문자형 - char / 24 
2.4 정수형 - byte, short, int, long / 28 
2.5 실수형 - float, double / 32 
3. 형변환 / 34 
3.1 형변환(캐스팅, casting)이란? / 34 
3.2 형변환 방법 / 34 
3.3 기본형의 형변환 / 36 
https://www.youtube.com/watch?v=hfYKb3US0SM


Chapter 3 연산자(Operator) 
1. 연산자(operator) / 44 
2. 단항 연산자 / 46 
2.1 증감 연산자 - ++, -- / 46 
2.2 부호 연산자 - +, - / 49 
2.3 비트전환 연산자 - ~ / 49 
2.4 논리부정 연산자 - ! / 51 
3. 산술 연산자 / 52 
3.1 사칙 연산자 - +, -, *, / / 52 
3.2 나머지 연산자 - % / 61 
3.3 쉬프트 연산자 - <<, >>, >>> / 62 
4. 비교 연산자 / 66 
4.1 대소비교 연산자 - <, >, <=, >= / 66 
4.2 등가비교 연산자 - ==, != / 66 
5. 논리 연산자 / 69 
5.1 논리 연산자 - &&, || / 69 
5.2 비트 연산자 - &, |, ^ / 70 
6. 그 외의 연산자 / 72 
6.1 삼항 연산자 - ? : / 72 
6.2 대입 연산자 - =, op= / 73 
https://www.youtube.com/watch?v=ltIzScWsL0c

Chapter 4 조건문과 반복문 
1. 조건문 - if, switch / 80 
1.1 if문 / 80 
1.2 중첩 if문 / 83 
1.3 switch문 / 85 
2. 반복문 - for, while, do-while / 93 
2.1 for문 / 93 
2.2 while문 / 100 
2.3 do-while문 / 102 
2.4 break문 / 103 
2.5 continue문 / 104 
2.6 이름 붙은 반복문 / 105 
https://www.youtube.com/watch?v=K7HVxxcrPWc


Chapter 5 배열(Array) 
1. 배열(array) / 114 
1.1 배열(array)이란? / 114 
1.2 배열의 선언 / 114 
1.3 배열의 생성 / 115 
1.4 배열의 초기화 / 116 
1.5 배열의 활용 / 118 
1.6 다차원 배열 / 126 
1.7 가변 배열 / 129 
1.8 배열의 복사 / 130 
1.9 커맨드라인을 통해 입력받기 / 132 
https://www.youtube.com/watch?v=rJiKnGFtwPs


Chapter 6 객체지향 프로그래밍 I 
1. 객체지향언어 / 148 
1.1 객체지향언어의 역사 / 148 
1.2 객체지향언어 / 148 
2. 클래스와 객체 / 149 
2.1 클래스와 객체의 정의와 용도 / 149 
2.2 객체와 인스턴스 / 151 
2.3 객체의 구성요소 - 속성과 기능 / 151 
2.4 인스턴스의 생성과 사용 / 153 
2.5 클래스의 또 다른 정의 / 160 
3. 변수와 메서드 / 164 
3.1 선언위치에 따른 변수의 종류 / 164 
3.2 클래스변수와 인스턴스변수 / 165 
3.3 메서드 / 167 
3.4 return문 / 169 
3.5 메서드의 호출 / 171 
3.6 JVM의 메모리구조 / 174 
3.7 기본형 매개변수와 참조형 매개변수 / 177 
3.8 재귀호출(recursive call) / 179 
3.9 클래스메서드(static메서드)와 인스턴스메서드 / 182 
3.10 클래스멤버와 인스턴스멤버간의 참조와 호출 / 184 
4. 메서드 오버로딩(method overloading) / 186 
4.1 메서드 오버로딩이란? / 186 
4.2 오버로딩의 조건 / 187 
4.3 오버로딩의 예 / 187 
4.4 오버로딩의 장점 / 189 
5. 생성자(constructor) / 191 
5.1 생성자란? / 191 
5.2 기본 생성자(default constructor) / 192 
5.3 매개변수가 있는 생성자 / 194 
5.4 생성자에서 다른 생성자 호출하기 - this(), this / 195 
5.5 생성자를 이용한 인스턴스의 복사 / 198 
6. 변수의 초기화 / 200 
6.1 변수의 초기화 / 200 
6.2 명시적 초기화(explicit initialization) / 202 
6.3 초기화 블럭(initialization block) / 202 
6.4 멤버변수의 초기화 시기와 순서 / 205 
https://www.youtube.com/watch?v=7LYeETYXqo8

https://www.youtube.com/watch?v=hPzuw884rI0

https://www.youtube.com/watch?v=DO0yZQuCwiQ


Chapter 7 객체지향 프로그래밍 II 
1. 상속(inheritance) / 222 
1.1 상속의 정의와 장점 / 222 
1.2 클래스간의 관계 - 포함관계 / 228 
1.3 클래스간의 관계 결정하기 / 229 
1.4 단일상속(single inheritance) / 235 
1.5 Object클래스 - 모든 클래스의 조상 / 236 
2. 오버라이딩(overriding) / 238 
2.1 오버라이딩이란? / 238 
2.2 오버라이딩의 조건 / 239 
2.3 오버로딩 vs. 오버라이딩 / 240 
2.4 super / 241 
2.5 super() - 조상 클래스의 생성자 / 243 
3. package와 import / 247 
3.1 패키지(package) / 247 
3.2 패키지의 선언 / 248 
3.3 import문 / 251 
3.4 import문의 선언 / 251 
4. 제어자(modifier) / 254 
4.1 제어자란? / 254 
4.2 static - 클래스의, 공통적인 / 254 
4.3 final - 마지막의, 변경될 수 없는 / 255 
4.4 생성자를 이용한 final 멤버변수 초기화 / 256 
4.5 abstract - 추상의, 미완성의 / 257 
4.6 접근 제어자(access modifier) / 258 
4.7 접근 제어자를 이용한 캡슐화 / 259 
4.8 생성자의 접근 제어자 / 262 
4.9 제어자(modifier)의 조합 / 264 
5. 다형성(polymorphism) / 265 
5.1 다형성이란? / 265 
5.2 참조변수의 형변환 / 268 
5.3 instanceof연산자 / 273 
5.4 참조변수와 인스턴스의 연결 / 275 
5.5 매개변수의 다형성 / 278 
5.6 여러 종류의 객체를 하나의 배열로 다루기 / 282 
6. 추상클래스(abstract class) / 288 
6.1 추상클래스란? / 288 
6.2 추상메서드(abstract method) / 288 
6.3 추상클래스의 작성 / 289 
7. 인터페이스(interface) / 294 
7.1 인터페이스란? / 294 
7.2 인터페이스의 작성 / 294 
7.3 인터페이스의 상속 / 295 
7.4 인터페이스의 구현 / 295 
7.5 인터페이스를 이용한 다중상속 / 298 
7.6 인터페이스를 이용한 다형성 / 300 
7.7 인터페이스의 장점 / 303 
7.8 인터페이스의 이해 / 310 
https://www.youtube.com/watch?&v=XXrof-XZ2N8

https://www.youtube.com/watch?v=egBGbkqDr4Q
https://www.youtube.com/watch?v=75wY_nn3g3o


Chapter 8 예외처리(Exception Handling) 
1. 예외처리(exception handling) / 330 
1.1 프로그램 오류 / 330 
1.2 예외처리의 정의와 목적 / 331 
1.3 예외처리구문 - try-catch / 331 
1.4 try-catch문에서의 흐름 / 334 
1.5 예외 발생시키기 / 336 
1.6 예외 클래스의 계층구조 / 337 
1.7 예외의 발생과 catch블럭 / 340 
1.8 finally블럭 / 345 
1.9 메서드에 예외 선언하기 / 347 
1.10 예외 되던지기(exception re-throwing) / 354 
1.11 사용자정의 예외 만들기 / 355 
https://www.youtube.com/watch?v=Mq5BjeB1APw

https://www.youtube.com/watch?v=a31oC24dzyQ

https://www.youtube.com/watch?v=phryLEqU1WA


Chapter 9 java.lang패키지 
1. Object클래스 / 366 
1.1 equals메서드 / 367 
1.2 hashCode메서드 / 370 
1.3 toString메서드 / 371 
1.4 clone메서드 / 373 
2. String클래스 / 376 
2.1 String클래스의 특징 / 376 
2.2 빈 문자열(empty string) / 382 
2.3 String클래스의 생성자와 메서드 / 383 
3. StringBuffer클래스 / 389 
3.1 StringBuffer클래스의 특징 / 389 
3.2 StringBuffer클래스의 생성자 / 389 
3.3 StringBuffer인스턴스의 비교 / 390 
3.4 StringBuffer클래스의 메서드 / 392 
4. Math클래스 / 395 
4.1 Math클래스 / 395 
4.2 Math클래스의 메서드 / 395 
5. wrapper클래스 / 397 
5.1 wrapper클래스 / 397 
5.2 Number클래스 / 402 

https://www.youtube.com/watch?v=rtCByUDW6CE
https://www.youtube.com/watch?v=9Z8CDb2IFf4

https://www.youtube.com/watch?v=o4QlcysUZo4

Chapter 10 내부 클래스 
1. 내부 클래스(inner class)란? / 414 
2. 내부 클래스의 종류와 특징 / 415 
3. 내부 클래스의 선언 / 415 
4. 내부 클래스의 제어자와 접근성 / 416 
5. 익명 클래스(anonymous class) / 421 

Chapter 11 컬렉션 프레임웍과 유용한 클래스 
1. 컬렉션 프레임웍(Collection Framework) / 428 
1.1 컬렉션 프레임웍의 핵심 인터페이스 - List, Set, Map / 429 
1.2 동기화(Synchronization) / 434 
1.3 Vector와 ArrayList / 435 
1.4 LinkedList / 450 
1.5 Stack과 Queue / 458 
1.6 Enumeration, Iterator, ListIterator / 467 
1.7 HashSet / 477 
1.8 TreeSet / 486 
1.9 Comparator와 Comparable / 492 
1.10 Hashtable과 HashMap / 495 
1.11 TreeMap / 505 
1.12 Properties / 508 
1.13 컬렉션 클래스 정리 & 요약 / 514 
2. 유용한 클래스들 / 515 
2.1 Calendar와 Date / 515 
2.2 Random / 528 
2.3 정규식(Regular Expression) - Pattern. Match / 537 
2.4 Scanner / 542 
2.5 StringTokenizer / 555 
3. 형식화 클래스 / 561 
3.1 DecimalFormat / 561 
3.2 SimpleDateFormat / 566 
3.3 ChoiceFormat / 570 
3.4 MessageFormat / 572 
4. 제네릭스(Generics) / 576 
4.1 ArrayList / 577 
4.2 Iterator / 582 
4.3 Comparable과 Collections.sort() / 583 
4.4 HashMap / 588 

Chapter 12 쓰레드(thread) 
1. 프로세스와 쓰레드 / 620 
2. 쓰레드의 구현과 실행 / 622 
3. start()와 run() / 626 
4. 싱글쓰레드와 멀티쓰레드 / 630 
5. 쓰레드의 우선순위 / 636 
6. 쓰레드 그룹(thread group) / 638 
7. 데몬 쓰레드(daemon thread) / 641 
8. 쓰레드의 실행제어 / 645 
9. 쓰레드의 동기화 / 661 
9.1 synchronized를 이용한 동기화 / 661 
9.2 wait()과 notify() / 670 

Chapter 13 AWT(Abstract Window Toolkit) 
1. AWT / 684 
1.1 AWT란? / 684 
1.2 AWT의 구성 / 686 
1.3 컴포넌트(Component) / 688 
1.4 컨테이너(Container) / 689 
2. AWT의 주요 컴포넌트 / 690 
2.1 Frame / 690 
2.2 Button / 693 
2.3 Choice / 696 
2.4 List / 698 
2.5 Label / 700 
2.6 Checkbox / 701 
2.7 TextField / 703 
2.8 TextArea / 704 
2.9 Scrollbar / 706 
2.10 Canvas / 707 
2.11 Panel / 708 
2.12 ScrollPane / 709 
2.13 Dialog / 710 
2.14 FileDialog / 712 
3. 그 외의 AWT 클래스 / 714 
3.1 Font / 714 
3.2 Color / 716 
4. 메뉴만들기 / 718 
4.1 메뉴를 구성하는 컴포넌트 / 718 
4.2 PopupMenu / 721 
5. 레이아웃 매니저 / 722 
5.1 레이아웃 매니저를 이용한 컴포넌트 배치 / 722 
5.2 BorderLayout / 723 
5.3 FlowLayout / 725 
5.4 GridLayout / 726 
5.5 CardLayout / 728 
6. 이벤트 처리(Event Handling) / 731 
6.1 이벤트(Event)란? / 731 
6.2 이벤트의 발생과 처리 / 731 
6.3 이벤트 처리방법 / 732 
6.4 Adapter클래스 / 739 
7. AWT의 그래픽 / 758 
7.1 paint()와 Graphics / 759 
7.2 AWT쓰레드와 repaint() / 762 
7.3 Image를 이용해서 이미지 출력하기 / 766 
8. 애플릿(Applet) / 772 
8.1 애플릿(Applet)이란? / 772 
8.2 Applet의 생명주기(Life cycle)와 주요 메서드 / 775 
8.3 Applet의 보안 제약(Security restriction) / 777 
8.4 Applet과 HTML태그 / 778 

Chapter 14 입출력(I/O) 
1. 자바에서의 입출력 / 802 
1.1 입출력이란? / 802 
1.2 스트림(stream) / 802 
1.3 바이트기반 스트림 - InputStream, OutputStream / 802 
1.4 보조스트림 / 804 
1.5 문자기반 스트림 - Reader, Writer / 805 
2. 바이트기반 스트림 / 807 
2.1 InputStream과 OutputStream / 807 
2.2 ByteArrayInputStream과 ByteArrayOutputStream / 808 
2.3 FileInputStream과 FileOutputStream / 812 
3. 바이트기반의 보조스트림 / 814 
3.1 FilterInputStream과 FilterOutputStream / 814 
3.2 BufferedInputStream과 BufferedOutputStream / 815 
3.3 DataInputStream과 DataOutputStream / 818 
3.4 SequenceInputStream / 824 
3.5 PrintStream / 826 
4. 문자기반 스트림 / 830 
4.1 Reader와 Writer / 830 
4.2 FileReader와 FileWriter / 831 
4.3 PipedReader와 PipedWriter / 833 
4.4 StringReader와 StringWriter / 835 
5. 문자기반의 보조스트림 / 836 
5.1 BufferedReader와 BufferedWriter / 836 
5.2 InputStreamReader와 OutputStreamWriter / 837 
6. 표준입출력과 File / 839 
6.1 표준입출력 - System.in, System.out, System.err / 839 
6.2 표준입출력의 대상변경 - setOut(), setErr(), setIn() / 841 
6.3 RandomAccessFile / 844 
6.4 File / 847 
7. 직렬화(Serialization) / 866 
7.1 직렬화란? / 866 
7.2 ObjectInputStream과 ObjectOutputStream / 867 
7.3 직렬화가 가능한 클래스 만들기 - Serializable, transient / 869 
7.4 직렬화가능한 클래스의 버전관리 / 875 

Chapter 15 네트워킹(Networking) 
1. 네트워킹(Networking) / 892 
1.1 클라이언트/서버(client/sever) / 892 
1.2 IP주소(IP address) / 894 
1.3 InetAddress / 895 
1.4 URL(Uniform Resource Location) / 897 
1.5 URLConnection / 900 
2. 소켓 프로그래밍 / 905 
2.1 TCP와 UDP / 905 
2.2 TCP소켓 프로그래밍 / 906 
2.3 UDP소켓 프로그래밍 / 924 

부록 - JDK 1.5에 추가된 기능 
1. 향상된 for문 
2. 오토박싱(autoboxing) 
3. 타입에 안전한 열거형(Typesafe enums) 
4. 가변인수(Varargs) 
5. static import문 
6. StringBuilder