BEST
개발 · 프로그래밍

/

웹 개발

모든 개발자를 위한 HTTP 웹 기본 지식

실무에 꼭 필요한 HTTP 핵심 기능과 올바른 HTTP API 설계 방법을 학습합니다.

(5.0) 수강평 3,358개

수강생 32,830명

Thumbnail

김영한의 실전 자바 중급 2편 - 제네릭과 컬렉션 오픈 일정 확정

안녕하세요. 여러분
김영한의 실전 자바 중급 2편 - 제네릭과 컬렉션
오픈 일정이 5월 8일(수)로 확정 되었습니다.

김영한의 실전 자바 - 중급 2편 제네릭과 컬렉션
* 강의 시간: 19시간 24분
* 강의 수: 약 90강
* 강의 PDF 자료: 355장

[자바 중급 2편 강의 내용]

[제네릭]
자바(Java)에서 제네릭을 제대로 이해하는 것은 참 어렵습니다.
이 강의에서는 제네릭을 최대한 쉽게 설명하기 위해 먼저 제네릭을 전혀 사용하지 않고 코드를 작성합니다. 그리고 이런 코드에 제네릭을 점진적으로 도입하면서 기존 방식으로는 해결이 어려운 코드 중복을 제네릭이 어떻게 해결하는지 자연스럽게 이해할 수 있습니다.

[자료 구조의 이해]
이 강의는 자료 구조를 제대로 이해할 수 있도록 자료 구조의 기초 이론을 설명하고, 또 실무에서 자주 사용하는 핵심 자료 구조들을 코드로 직접 구현해봅니다.

* 배열 리스트 (ArrayList)
* 연결 리스트 (LinkedList)
* 해시 구조 (Hash)
* 해시 알고리즘과 해시 테이블 (Hash)
* 트리 구조 (Tree)
* 세트(셋)와 맵 구조 (Set, Map)
* 스택과 큐 구조 (Stack, Queue)

[컬렉션 프레임워크]
자바의 컬렉션 프레임워크는 자료 구조의 모음입니다.
실무에서 자료 구조는 정말 자주 쓰이고 성능 문제와도 직결되는 만큼 자료 구조를 제대로 이해하고 사용하는 것이 정말 중요합니다.
이 강의에서는 컬렉션에 쓰이는 다양한 자료 구조를 직접 구현하면서 원리를 깊이 있게 이해합니다. 그래서 각각의 자료 구조가 어떤 경우에 성능이 좋고, 어떤 경우에 성능이 나쁜지 근본적인 이유를 제대로 이해하고 실무에서 활용할 수 있게 됩니다.
각 챕터에서는 다양한 자료 구조를 이론과 실제 구현을 통해 학습합니다. 이렇게 해서 자바 컬렉션 프레임워크 전반을 완성하고, 또 어떤 자료 구조를 어디에 사용해야 할지 제대로 이해할 수 있게 됩니다.

[강의 전체 목차]

1. 제네릭 - Generic1

* 프로젝트 환경 구성

* 제네릭이 필요한 이유

* 다형성을 통한 중복 해결 시도

* 제네릭 적용

* 제네릭 용어와 관례

* 제네릭 활용 예제

* 문제와 풀이1

 

2. 제네릭 - Generic2

* 타입 매개변수 제한1 - 시작

* 타입 매개변수 제한2 - 다형성 시도

* 타입 매개변수 제한3 - 제네릭 도입과 실패

* 타입 매개변수 제한4 - 타입 매개변수 제한

* 제네릭 메서드

* 제네릭 메서드 활용

* 와일드카드1

* 와일드카드2

* 타입 이레이저

* 문제와 풀이2

* 정리

 

3. 컬렉션 프레임워크 - ArrayList

* 배열의 특징1 - 배열과 인덱스

* 빅오(O) 표기법

* 배열의 특징2 - 데이터 추가

* 직접 구현하는 배열 리스트1 - 시작

* 직접 구현하는 배열 리스트2 - 동적 배열

* 직접 구현하는 배열 리스트3 - 기능 추가

* 직접 구현하는 배열 리스트4 - 제네릭1

* 직접 구현하는 배열 리스트5 - 제네릭2

* 정리

 

4. 컬렉션 프레임워크 - LinkedList

* 노드와 연결1

* 노드와 연결2

* 노드와 연결3

* 직접 구현하는 연결 리스트1 - 시작

* 직접 구현하는 연결 리스트2 - 추가와 삭제1

* 직접 구현하는 연결 리스트3 - 추가와 삭제2

* 직접 구현하는 연결 리스트4 - 제네릭 도입

* 정리

 

5. 컬렉션 프레임워크 - List

* 리스트 추상화1 - 인터페이스 도입

* 리스트 추상화2 - 의존관계 주입

* 리스트 추상화3 - 컴파일 타임, 런타임 의존관계

* 직접 구현한 리스트의 성능 비교

* 자바 리스트

* 자바 리스트의 성능 비교

* 문제와 풀이1

* 문제와 풀이2

* 정리

 

6. 컬렉션 프레임워크 - 해시(Hash)

* 리스트(List) vs 세트(Set)

* 직접 구현하는 Set0 - 시작

* 해시 알고리즘1 - 시작

* 해시 알고리즘2 - index 사용

* 해시 알고리즘3 - 메모리 낭비

* 해시 알고리즘4 - 나머지 연산

* 해시 알고리즘5 - 해시 충돌 설명

* 해시 알고리즘6 - 해시 충돌 구현

 

7. 컬렉션 프레임워크 - HashSet

* 직접 구현하는 Set1 - MyHashSetV1

* 문자열 해시 코드

* 자바의 hashCode()

* 직접 구현하는 Set2 - MyHashSetV2

* 직접 구현하는 Set3 - 직접 만든 객체 보관

* equals, hashCode의 중요성1

* equals, hashCode의 중요성2

* 직접 구현하는 Set4 - 제네릭과 인터페이스 도입

 

8. 컬렉션 프레임워크 - Set

* 자바가 제공하는 Set1 - HashSet, LinkedHashSet

* 자바가 제공하는 Set2 - TreeSet

* 자바가 제공하는 Set3 - 예제

* 자바가 제공하는 Set4 - 최적화

* 문제와 풀이1

* 문제와 풀이2

* 정리

 

9. 컬렉션 프레임워크 - Map, Stack, Queue

* 컬렉션 프레임워크 - Map 소개1

* 컬렉션 프레임워크 - Map 소개2

* 컬렉션 프레임워크 - Map 구현체

* 스택 자료 구조

* 큐 자료 구조

* Deque 자료 구조

* Deque와 Stack, Queue

* 문제와 풀이1 - Map1

* 문제와 풀이2 - Map2

* 문제와 풀이3 - Stack

* 문제와 풀이4 - Queue

* 정리

 

10. 컬렉션 프레임워크 - 순회, 정렬, 전체 정리

* 순회1 - 직접 구현하는 Iterable, Iterator

* 순회2 - 향상된 for문

* 순회3 - 자바가 제공하는 Iterable, Iterator

* 정렬1 - Comparable, Comparator

* 정렬2 - Comparable, Comparator

* 정렬3 - Comparable, Comparator

* 컬렉션 유틸

* 컬렉션 프레임워크 전체 정리

* 문제와 풀이

* 정리

 

감사합니다.

댓글