
스프링 핵심 원리 - 기본편
김영한
₩88,000
초급 / Spring, 객체지향
5.0
(4,007)
스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다.
초급
Spring, 객체지향
자바 객체 지향 프로그래밍
객체, 캡슐화, 상속, 다형성, 추상화
전 우아한형제들 기술이사, 누적 수강생 40만 명 돌파
김영한이 자바 강의를 만든 이유
•••
“진짜 실무에 필요한 제대로 된 개발자를 만드는, 제대로 된 자바 강의를 만들고 싶었습니다.”
우리가 실무에서 개발하는 현대의 소프트웨어는 대부분 수십~수백 명이 함께 개발하는 대규모 소프트웨어입니다. 이런 대규모 소프트웨어를 개발할 때는 다음과 같은 부분이 매우 중요합니다.
코드 재사용성
모듈화
확장성과 유연성
추상화를 위한 복잡도 관리
유지 보수
자바는 객체지향 프로그래밍 언어입니다. 객체지향 프로그래밍의 캡슐화, 상속, 다형성, 추상화 같은 개념이 이런 문제를 해결해 주는 역할을 하고, 그렇기 때문에 실무에서 자바를 많이 사용하는 것입니다.
때문에 객체지향 프로그래밍은 자바에서 가장 중요한 핵심 개념이라고도 볼 수 있습니다.
그런데 자바를 처음 공부하는 분들이 정말 아쉽게도 단순 자바 문법만 배우고 있는 경우가 많습니다. 하지만 객체지향 개념에서는 문법이 아니라, 이것을 어떤 상황에 왜 써야 하는지를 이해하는 게 핵심입니다.
문제는 많은 자바 개발자들이 객체지향 프로그래밍(OOP)의 본질을 이해하지 못한 채 문법만 공부하다 보니 이 사실을 너무 늦게 알아차립니다. 저는 배우는 분들에게 잘못이 있다고 생각하지 않습니다. 기존의 책이나 강의 방식 대부분이 문법만 가르치기 때문입니다.
그리고 실무에서는 자바를 사용할 때 반드시 스프링(Spring)이라는 기술과 함께 쓰게 됩니다. 그래서 자바를 배우면 그 다음으로 스프링을 학습하게 됩니다.
그런데 대부분의 개발자들이 스프링을 무척 어렵다고 생각합니다. 왜냐하면 스프링은 객체지향 개념을 더 쉽게 사용할 수 있도록 도와주는 도구이기 때문입니다. 따라서 객체지향의 기반이 제대로 되어 있어야 스프링도 쉽게 배울 수 있습니다.
하지만 많은 개발자가 객체지향 개념이 왜 필요한지 모르고 그냥 자바 문법만 배웁니다. 그래서 당연히 스프링이 어렵게 느껴지고, 중도에 포기하는 경우가 부지기수입니다.
때문에 이번 강의는 객체지향의 본질을 알아보고,
그럼으로써 실무에 꼭 필요한 자바의 핵심을 확실하게 이해하는 것을 목표로 합니다.
이 강의는 김영한의 실전 자바 로드맵의 두 번째 강의로, 자바 기본 문법을 학습한 분들을 대상으로 합니다.
김영한의 실전 자바 - 기본편
김영한의 실전 자바 - 고급 3편 (2025년 1분기 공개 예정)
자바 OOP에 대해
배우고 싶은 분
자바를 공부했지만
기본기를 제대로 다지고 싶은 분
개발자 취업 준비생
사실 캡슐화, 상속, 다형성 같은 객체지향 개념은 이론으로 들어도 잘 이해가 되지 않습니다. 개념을 추상적으로 설명하는 경우가 대부분이기 때문입니다.
그래서 이 강의에서는 객체지향의 핵심 코드를 모두 예제 코드로 하나씩 단계적으로 풀어가면서 설명합니다. 처음에는 먼저 객체지향 개념 없이 코딩을 해본 다음, 점진적으로 객체지향 개념을 코드로 도입하면서 어떤 점이 좋아지는지 여러분이 코드로 직접 느낄 수 있도록 구성되어 있습니다.
학습 후 여러분은 저와 함께 기존 코드를 객체지향적인, 좋은 코드로 함께 바꾸어 가면서 자연스럽게 객체지향에 대한 깨달음을 얻게 됩니다. 그리고 객체지향을 지원하기 위한 자바 문법 역시 그 과정 속에서 함께 이해할 수 있습니다.
자바에서 가장 중요한 객체지향이 왜 필요한지를 이번 강의를 통해 확실히 이해시켜 드리겠습니다.
실무에서 많이, 자주 사용하는 기본기는 깊고 확실하게 다룹니다.
실무에서 사용하지 않는 기능은 과감히 제외합니다.
같은 시간을 투자해도 누구는 잘하고 누구는 못하기 마련입니다. 이 차이는 어디에서 올까요? 자바는 너무 넓고 공부해야 하는 기능도 많습니다. 그래서 많은 초심자가 방향을 잃고 헤매곤 합니다.
자바 기능이 100가지가 있다면 100가지 다 배울 필요가 없습니다. 실무에서 사용하지 않는, 중요하지 않은 기능을 한참 배우는 것은 시간을 낭비하는 일입니다. 많은 시간을 투자했는데 쓰이지 않는 기능을 배우고 있어서는 안 됩니다.
이 강의는 여러분의 시간을 아껴드립니다. 그래서, 그 다음 단계로 빨리 넘어갈 수 있도록 합니다.
코드를 통해 개념을 자연스럽게 이해할 수 있도록 수많은 예제를 제공합니다.
수영을 배울 때를 떠올려보세요. 프로그래밍은 사실 머리로 이해하는 것보다, 실제 코드로 따라하면서 배우는 것이 더 많습니다.
물 밖에서 이론을 따로 배우는 공부가 아닌, 저와 함께 물 속에서 수영하듯 자바를 배울 수 있게 강의를 구성하였습니다. 이론을 설명하더라도 해당 이론을 충분히 이해할 수 있도록 예제 코드가 준비되어 있습니다. 코드를 따라하는 과정 속에서 기본기를 자연스럽게 이해해 보세요.
문제를 코드로 해결하는 능력을 기를 수 있습니다.
모든 프로그래밍은 코드로 직접 푸는 문제와 같습니다. 수영을 배웠다면, 배운 내용을 직접 물속에서 해봐야 내 것이 됩니다.
이 강의는 문제를 풀어보며 체득하는 과정을 강조합니다. 제대로 학습하기 위해서는 스스로 내가 공부한 내용을 바탕으로 문제를 풀 수 있어야 하기 때문입니다. 또한 제가 직접 함께 문제를 풀이하는 과정 역시 수업을 통해 보여드립니다. 저처럼 오랜 시간 실무를 경험한 개발자가 직접 문제를 푸는 과정을 보며 자연스럽게 배우게 되는 것들이 있을 것입니다.
“어떤 걸 더 가르쳐야 하는지보다도, 반드시 알아야 할 내용이 무엇인지를 더욱 깊이 고민했습니다.”
이번 ‘김영한의 실전 자바 Java 로드맵’ 에서 저의 목표는 진짜 실무에 필요한 기본기가 탄탄하게 갖춰진 실력 있는 개발자를 만드는 것입니다. 자바 객체지향 프로그래밍의 기반을 이 강의로 점진적으로 쌓아 올리실 수 있기를 바라며, 여러분이 좋은 개발자가 될 수 있도록 도와드리겠습니다.
학습 대상은
누구일까요?
자바 객체지향 프로그래밍을 코드로 쉽게 학습하고 싶은 분
자바 공부를 했지만 기본기를 제대로 다지고 싶은 분
개발자 취업 준비생
선수 지식,
필요할까요?
김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음 강의
자바 기본 문법 (변수, 연산자, 조건문, 반복문, 배열)
487,938
명
수강생
30,629
개
수강평
8,728
개
답변
5.0
점
강의 평점
21
개
강의
교육자
전: 우아한형제들 기술이사, 카카오, SK플래닛
진짜 실무에 필요한 제대로 된 개발자가 될 수 있도록, 교육하는 것이 저의 목표입니다.
EO 인터뷰 영상
개발바닥 - 시골 청년 개발왕 되다
전체
98개 ∙ (16시간 51분)
해당 강의에서 제공:
프로젝트 환경 구성
09:16
클래스가 필요한 이유
12:54
클래스 도입
21:27
객체 사용
06:42
클래스, 객체, 인스턴스 정리
05:43
배열 도입 - 시작
17:15
배열 도입 - 리펙토링
04:55
문제와 풀이
09:46
정리
07:30
기본형 vs 참조형1 - 시작
07:53
기본형 vs 참조형2 - 변수 대입
14:56
기본형 vs 참조형3 - 메서드 호출
16:31
참조형과 메서드 호출 - 활용
20:08
변수와 초기화
04:41
null
09:51
NullPointerException
09:13
문제와 풀이
16:09
정리
06:51
절차 지향 프로그래밍1 - 시작
07:19
클래스와 메서드
09:47
객체 지향 프로그래밍
14:12
문제와 풀이
09:45
정리
05:11
생성자 - 필요한 이유
05:14
this
14:52
생성자 - 도입
12:22
기본 생성자
05:46
생성자 - 오버로딩과 this()
06:32
문제와 풀이
04:55
정리
03:57
패키지 - 시작
08:38
패키지 - import
06:25
패키지 규칙
07:47
패키지 활용
05:30
정리
05:37
접근 제어자 이해1
09:45
접근 제어자 이해2
05:25
접근 제어자 종류
06:22
접근 제어자 사용 - 필드, 메서드
09:53
접근 제어자 사용 - 클래스 레벨
10:53
캡슐화
20:54
문제와 풀이
20:47
정리
02:45
자바 메모리 구조
11:58
스택과 큐 자료 구조
06:45
스택 영역
06:27
스택 영역과 힙 영역
09:14
static 변수1
10:08
static 변수2
09:37
static 변수3
12:02
static 메서드1
09:55
static 메서드2
18:01
static 메서드3
09:22
문제와 풀이
14:34
정리
07:20
final 변수와 상수1
14:28
final 변수와 상수2
11:07
final 변수와 참조
05:05
정리
07:07
상속 - 시작
03:57
상속 관계
10:41
상속과 메모리 구조
10:51
상속과 기능 추가
05:50
상속과 메서드 오버라이딩
18:07
상속과 접근 제어
11:25
super - 부모 참조
06:14
super - 생성자
15:08
문제와 풀이
09:23
정리
07:33
다형성 시작
20:45
다형성과 캐스팅
09:24
캐스팅의 종류
09:25
다운캐스팅과 주의점
13:41
instanceof
13:49
다형성과 메서드 오버라이딩
12:01
정리
07:26
다형성 활용1
08:44
다형성 활용2
10:09
다형성 활용3
13:40
추상 클래스1
17:45
추상 클래스2
09:54
인터페이스
24:21
인터페이스 - 다중 구현
11:16
클래스와 인터페이스 활용
09:30
정리
10:02
좋은 객체 지향 프로그래밍이란?
20:27
다형성 - 역할과 구현 예제1
05:12
다형성 - 역할과 구현 예제2
06:18
다형성 - 역할과 구현 예제3
11:07
문제와 풀이
28:39
정리
06:32
다음으로
19:02
전체
1,300개
5.0
1,300개의 수강평
₩44,000