Thumbnail
깜짝 할인 중
BEST
개발 · 프로그래밍 프로그래밍 언어

김영한의 실전 자바 - 기본편 대시보드

(5)
582개의 수강평 ∙  8,788명의 수강생

30%

30,800원

44,000원
지식공유자: 김영한
총 98개 수업 (16시간 51분)
수강기한: 
무제한
수료증: 발급
난이도: 
입문
-
초급
-
중급이상
지식공유자 답변이 제공되는 강의입니다
폴더에 추가 공유
김영한 프로필
자바 중급 2편 강의 오픈
김영한 19시간 전 (19시간 전 수정됨)

안녕하세요. 여러분^^! 자바 중급 2편 강의를 드디어 오픈했습니다.
오픈 기념으로 스프링, JPA를 포함한 저의 모든 강의를 30% 할인합니다^^!

강의 링크: https://inf.run/NevkE

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

* 강의 시간: 19시간 24분
* 강의 수: 약 90강
* 강의 PDF 자료: 355장

이번 강의에서는 실무에 필요한 제네릭, 자료구조, 컬렉션 프레임워크를 깊이있게 다룹니다.

특히 컬렉션에 쓰이는 다양한 자료 구조를 직접 구현하면서 원리를 깊이 있게 이해합니다. 그래서 각각의 자료 구조가 어떤 경우에 성능이 좋고, 어떤 경우에 성능이 나쁜지 근본적인 이유를 제대로 이해하고 실무에서 활용할 수 있게 됩니다.

제 목표는 단순히 자바 문법 교육에 그치지 않고, 실무에서 필요한 탄탄한 자바 기본기를 갖춘 유능한 개발자를 양성하는 것입니다. 이를 위해 자바에 대해 깊이 있고 체계적인 자바 로드맵을 진행합니다. 기대해주세요.

김영한 프로필
김영한의 실전 자바 중급 2편 - 제네릭과 컬렉션 오픈 일정 확정
김영한 5일 전 (5일 전 수정됨)

안녕하세요. 여러분
김영한의 실전 자바 중급 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

* 컬렉션 유틸

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

* 문제와 풀이

* 정리

 

감사합니다.

김영한 프로필
자바 중급 1편 오픈 공지
김영한 1달 전 (1달 전 수정됨)

안녕하세요. 여러분^^! 자바 중급 1편 강의를 드디어 오픈했습니다.

오픈 기념으로 저의 모든 강의를 30% 할인합니다^^!

강의 링크: https://inf.run/mkzcm

김영한의 실전 자바 - 중급 1편

* 강의 시간: 19시간 20분
* 강의 수: 약 100강
* 강의 PDF 자료: 350장

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

* Object 클래스
* 불변 객체
* String 클래스
* 열거형 - ENUM
* 날짜와 시간
* 중첩 클래스, 내부 클래스
* 예외 처리

제 목표는 단순히 자바 문법 교육에 그치지 않고, 실무에서 필요한 탄탄한 자바 기본기를 갖춘 유능한 개발자를 양성하는 것입니다. 이를 위해 자바에 대해 깊이 있고 체계적인 자바 로드맵을 진행합니다. 기대해주세요.

 

다른 댓글 보기(1)
김영한 프로필
[공지] 자바 중급 1편 오픈 일정 확정
김영한 1달 전 (1달 전 수정됨)

안녕하세요. 여러분
자바 중급 1편 오픈 일정이 3월 28일(목)으로 확정 되었습니다.
중급 편이니 만큼 강의 시간과 분량이 많이 늘었습니다.

김영한의 실전 자바 - 중급 1편

  • 강의 시간: 19시간 20분

  • 강의 수: 약 100강

  • 강의 PDF 자료: 350장

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

Object 클래스

Object 클래스는 모든 클래스의 최상위 부모 입니다. 이 강의에서는 Object 클래스가 필요한 이유와 Object 클래스가 제공하는 기능들을 알아봅니다. 또한 equals()를 통해 자바의 동일성과 동등성 개념도 함께 학습합니다.

불변 객체

한번 생성하면 그 이후로 변하지 않는 객체를 불변 객체라 합니다. 이후에 설명할 String, 래퍼, 날짜와 시간을 포함해서 자바가 제공하는 많은 객체들은 불변 객체로 제공됩니다. 여기서는 불변 객체가 왜 필요한지, 그리고 어떻게 불변 객체를 만드는지 알아봅니다.

String 클래스

String 클래스는 자바에서 문자열을 다룰 때 사용되는 클래스입니다. 여기서는 String 객체의 기본 기능 뿐만 아니라, StringBuilder와 String의 기능과 성능 차이도 알아봅니다. 또한 자바가 String 클래스를 어떻게 최적화하는지 깊이있게 알아봅니다.

래퍼, Class 클래스

자바 기본형의 한계를 알아보고 그 한계를 극복하기 위한 래퍼 클래스를 학습합니다. 래퍼 클래스의 오토 박싱, 주요 메서드도 학습합니다.

추가로 클래스의 정보를 나타내는 Class 클래스, 시스템의 정보를 제공하는 System 클래스, 자주 사용하는 Math, Random 같은 클래스도 함께 알아봅니다.

열거형 - ENUM

열거형은 높은 타입 안전성을 제공하는 훌륭한 기능입니다. 여기서는 단순히 열거형의 문법을 배우는 것이 아니라 본질적으로 열거형이 왜 필요한지 이야기합니다. 그리고 열거형이 없던 시절 직접 구현했던 타입 안전 열거형 패턴도 구현해봅니다. 또한 다양한 예제 코드를 통해 열거형을 실무에서 어떻게 잘 활용할 수 있는지 알아봅니다.

날짜와 시간

날짜와 시간을 계산하는 것은 겉으로는 단순해보이지만 매우 어렵습니다. 그래서 자바가 제공하는 라이브러리를 사용해야 합니다.

여기서는 자바 날짜와 시간 라이브러리의 역사부터 시작해서 어떤 상황에 어떤 날짜와 시간 클래스를 사용해야 하는지 다양한 예제를 통해 정리해드립니다.

중첩 클래스, 내부 클래스

클래스 내부에 클래스를 두는 것을 중첩 클래스 또는 내부 클래스라 합니다. 여기서는 모든 중첩 클래스를 완전히 마스터하는 것을 목표로 합니다.

정적 중첩 클래스, 내부 클래스, 지역 클래스, 익명 클래스까지 모든 중첩 클래스를 설명합니다. 단순히 문법 위주로 설명하는 것이 아니라 어떻게 활용되는지 코드와 예제로 설명합니다. 특히 어려운 개념인 지역 변수 캡처에 대해서도 그림으로 쉽게 풀어서 설명합니다.

예외 처리

자바에서 예외 처리는 문법은 단순하지만 예외 처리가 왜 필요하고 또, 실무에서 어떻게 활용해야 할지 제대로 이해하는 것은 어렵습니다. 여기서는 먼저 예외 처리가 없던 시절로 갑니다. 그리고 예제 코드를 점진적으로 개선해가면서 본질적으로 예외 처리가 왜 필요한지, 그 이유를 하나씩 찾아갑니다.

마지막으로 실무에서 어떤 방식으로 예외를 처리하는게 좋은지 실무 베스트 프렉티스도 알려드립니다.

김영한의 실전 자바 - 중급 2편
- 오픈 예정 일정: 5월 초

자바 중급 2편 내용

중급 2편은 제네릭과 컬렉션을 깊이있게 다룹니다.
특히 컬렉션의 경우 실무에서 주로 사용하는 자료 구조를 직접 구현하면서 원리를 이해합니다. 그래서 각각의 자료구조가 어떤 경우에 성능이 좋고 어떤 경우에는 성능이 나쁜지 근본적인 이유들을 이해하고 활용할 수 있게 됩니다.

감사합니다.

다른 댓글 보기(5)
김영한 프로필
[공지] 자바 중급편 오픈 예상 일정 공유
김영한 2달 전 (2달 전 수정됨)

[공지] 자바 중급 오픈 일정

안녕하세요. 여러분
최근에 다음 강의 소식을 궁금해하시는 분들이 많으셔서 준비중인 강의 근황을 전달드립니다.

저는 자바 중급편을 오픈하기 위해 막바지 작업을 열심히 하고 있습니다.
자바 중급편은 각각의 주제에 대해서 깊이있게 들어가다 보니 예상보다 준비할 분량이 많았습니다.
대략 계산해보니 자바 입문편과 기본편을 합한 것 보다 더 많네요.
분량이 많기도 하고, 또 이대로 가면 오픈이 계속 지연될 것 같아 강의를 2편으로 나누어 출시하기로 결정했습니다.

김영한의 실전 자바 - 중급 1편
- 오픈 예정 일정: 3월 말(대략 3월 20일 ~ 3월 28일 사이에 출시)

자바 중급 1편 내용

1. Object 클래스
2. 불변 객체
3. String 클래스
4. 래퍼, Class 클래스
5. 열거형 - ENUM
6. 날짜와 시간
7. 중첩 클래스, 내부 클래스1
8. 중첩 클래스, 내부 클래스2
9. 예외 처리1 - 이론
10. 예외 처리2 - 실습


김영한의 실전 자바 - 중급 2편
- 오픈 예정 일정: 4월 말(예정)

자바 중급 2편 내용

중급 2편은 제네릭과 컬렉션을 깊이있게 다룹니다.
특히 컬렉션의 경우 컬렉션을 직접 구현하면서 원리를 이해합니다. 그래서 각각의 자료구조가 어떤 경우에 성능이 좋고 어떤 경우에는 성능이 나쁜지 근본적인 이유들을 이해하고 활용할 수 있게 됩니다.

추가로 자바 고급편에 대한 자세한 내용은 중급편을 완료한 이후에 다시 공유 드리겠습니다.
그리고 중급 1편의 오픈 일정이 확정되면 다시 공지하겠습니다.

감사합니다.

다른 댓글 보기(11)
김영한 프로필
30만 수강생 기념 온라인 밋업 Live 영상 공개
김영한 2달 전 (2달 전 수정됨)

안녕하세요. 여러분

인프런에서 진행한 30만 수강생 기념 밋업 Live 영상이 공개되었습니다.

영상 링크: https://inf.run/81ogv

이날 오프라인 참석 신청해주신 분이 1200명 정도 되셨는데요. 그 중에 30명을 모시고 오프라인 밋업을 진행했습니다. 기대보다 많은 분들이 신청해주셔서 감사하고, 또 많은 분들을 초대하지 못해서 저도 아쉬움이 남습니다. 다음에 기회가 된다면 더 많은 분을 모시도록 노력하겠습니다.

이번 세션에 1200개 정도의 질문을 적어주셨는데요. 최대한 많은 질문에 답할 수 있도록 비슷한 카테고리의 질문을 묶어서 답변을 드렸습니다.

개발자로 성장하는 과정에서 고민이 있는 여러분께 조금이나마 도움이 되었으면 좋겠습니다.

모두 가족과 행복한 설날 되세요.

다른 댓글 보기(1)
김영한 프로필
자바 강의 오픈 소식
김영한 5달 전 (5달 전 수정됨)

안녕하세요. 여러분^^! 자바 강의를 드디어 오픈했습니다.

처음 프로그래밍에 입문하는 분들이 부담없이 배울 수 있도록 자바 입문 강의를 무료로 제공하기로 결정했습니다.

또한 오픈 기념으로 저의 모든 강의를 30% 할인합니다^^!

실전 자바 로드맵

* 김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음 (11/28 오픈)

* 김영한의 실전 자바 - 기본편 (11/28 오픈)

* 김영한의 실전 자바 - 중급편 (2024년 1분기 예정)

* 김영한의 실전 자바 - 고급편 (2024년 1분기 예정)

제 목표는 단순히 자바 문법 교육에 그치지 않고, 실무에서 필요한 탄탄한 자바 기본기를 갖춘 유능한 개발자를 양성하는 것입니다. 이를 위해 자바에 대해 깊이 있고 체계적인 로드맵을 시작합니다. 기대해주세요.

강의 오픈 링크: https://www.inflearn.com/pages/kyh202311

다른 댓글 보기(7)