BEST
개발 · 프로그래밍

/

프로그래밍 언어

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

실무에 필요한 자바의 다양한 중급 기능을 예제 코드로 깊이있게 학습합니다.

(5.0) 수강평 496개

수강생 7,531명

Thumbnail

초급자를 위해 준비한
[프로그래밍 언어, 백엔드] 강의입니다.

이런 걸
배워요!

  • 실무에 필요한 다양한 자바 중급 기능

  • Object, 불변 객체, String, 래퍼, 열거형

  • 날짜와 시간, 중첩 클래스, 예외 처리

국내 개발 분야 누적 수강생 1위,
제대로 만든 김영한의 실전 자바

단순히 자바 문법을 안다? 이걸로는 안됩니다!

전 우아한형제들 기술이사, 누적 수강생 40만 명 돌파
김영한이 자바 강의를 만든 이유

•••

“진짜 실무에 필요한 제대로 된 개발자를 만드는, 제대로 된 자바 강의를 만들고 싶었습니다.”

실무에 쓰이는 자바의 다양한 중급 기능

지금까지 우리는 "자바 입문" 그리고 "자바 기본" 두 강의를 통해 프로그래밍 기본기 및 객체지향 개념(OOP)에 대해 학습했습니다. 이번 "자바 중급 1편" 강의에서는 그 2가지 기반 위에 자바가 제공하는 다양한 중급 기능들을 학습합니다.

  • Object 클래스

  • 불변 객체

  • String 클래스

  • 래퍼, Class 클래스

  • 열거형 : ENUM

  • 날짜와 시간

  • 중첩 클래스, 내부 클래스

  • 예외 처리

코드를 통해 Why를 확실히 이해하기

여러분, 기본기가 정말 중요합니다. 그런데 기본기가 뭘까요? 단순히 자바의 문법과 기능을 잘 아는 걸까요?

실무에서 많은 주니어 개발자 분들 가운데 잘 성장하지 못하는 분들을 보면, 대부분 자바 문법과 기능은 알지만 이 기능이 왜 필요한지 본질적인 이해를 못하는 경우가 많았습니다.

반대로, 잘 성장하는 주니어 개발자들을 보면 자바의 문법과 기능을 아는 수준을 넘어 이 기술이 왜 필요한지 본질적인 이해를 하고 있습니다. 그런 이해를 바탕으로 기능을 잘 활용하고 여러 가지 시도를 해보면서 빠르게 성장하는 모습을 보았습니다. 이러한 차이는 어디서 오는 걸까요?

지금까지 나온 많은 책과 강의를 보면 자바가 제공하는 기술들이 왜 필요한지 본질적인 이유를 설명하기보다는 단순히 자바의 문법과 기능 위주로 가르치는 경우가 많았기 때문입니다.

이 강의는 단순히 문법 위주의 강의가 아니라, 예제 코드를 통해 이 기능이 왜 필요한지 단계적으로 이해시켜 드립니다.
그리고 여러분이 배운 내용을 실무에서 잘 활용할 수 있게 실무에서 주로 사용하는 방식도 함께 알려드립니다.

실무에 꼭 필요한 자바 기술을 깊이있게 제대로 가르쳐드리겠습니다.

김영한의 실전 자바 로드맵

이 강의는 김영한의 실전 자바 로드맵세 번째 강의로, 자바 기본 문법을 학습한 분들을 대상으로 합니다.

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

본질적 이해의 중요성

자바의 문법과 기능을 단순히 알기만 하는 것이 아니라, 그 기능이 왜 필요하고 어떻게 실무에 적용할 수 있는지에 대해 깊이 있게 탐구합니다.

실무적 접근 방식

단순한 이론 전달이 아닌, 예제 코드를 통해 자바 기술의 필요성을 단계적으로 이해시킵니다. 또한 다양한 예제를 통해 각 기술이 실무에서 어떻게 활용되는지 이해할 수 있습니다.

우리의 목표는 단순 문법 이상의 본질입니다.

이 강의는 단순한 문법 전달을 넘어, 자바(Java) 기술이 실무에서 왜 중요한지에 대한 본질적인 이해를 목표로 합니다. 여러분이 자바 기본기를 튼튼히 다지고, 이를 바탕으로 실무에서 좋은 개발자로 잘 성장할 수 있도록 돕겠습니다.

이후에 학습할 “중급 2편”에서는

제네릭(Generic)과 컬렉션(Collection)을 깊이있게 다룹니다.

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

강의 내용

  • 제네릭 및 컬렉션 프레임워크를 배우기에 앞서 실무에 필요한 여러 자바 중급 기능을 학습합니다.

  • 실전 예제 코드를 통해 각각의 기능이 왜 필요한지에 대해 본질적인 이해를 할 수 있습니다.

Object 클래스

Object 클래스는 모든 클래스의 최상위 부모입니다.

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

불변 객체

한번 생성하면 그 이후로 변하지 않는 객체를 불변 객체라 합니다.

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

String 클래스

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

래퍼, Class 클래스

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

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

열거형 - ENUM

열거형은 높은 타입 안전성을 제공하는 훌륭한 기능입니다.

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

날짜와 시간

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

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

중첩 클래스, 내부 클래스

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

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

예외 처리

자바에서 예외 처리 문법은 단순하지만 예외 처리가 왜 필요하고 또, 실무에서 어떻게 활용해야 할지 제대로 이해하는 건 어렵습니다.

여기서는 먼저 예외 처리가 없던 시절로 돌아갑니다. 그리고 예제 코드를 점진적으로 개선해가면서 본질적으로 예외 처리가 왜 필요한지 그 이유를 하나씩 찾아갑니다.

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

“어떤 걸 더 가르쳐야 하는지보다도, 반드시 알아야 할 내용이 무엇인지를 더욱 깊이 고민했습니다.”

이번 ‘김영한의 실전 자바 Java 로드맵’ 에서 저의 목표는 진짜 실무에 필요한 기본기가 탄탄하게 갖춰진 실력 있는 개발자를 만드는 것입니다. ‘왜 이런 기능이 필요하지?’ 하는 본질적인 질문을 던질 수 있는, 그럼으로써 응용하며 성장해 나갈 수 있는 자바 개발자로 발돋움할 수 있도록 도와드리겠습니다.

이런 분들께
추천드려요!

학습 대상은
누구일까요?

  • 실무에 필요한 자바를 더 깊이있게 이해하고 싶은 개발자

  • 자바 공부를 했지만 기본기를 제대로 다지고 싶은 분

  • 개발자 취업 준비생

선수 지식,
필요할까요?

  • 김영한의 실전 자바 - 기본편

안녕하세요
김영한입니다.

진짜 실무에 필요한 제대로 된 개발자가 될 수 있도록, 교육하는 것이 저의 목표입니다.

 

저의 개발 인생 이야기

EO 인터뷰 영상

개발바닥 - 시골 청년 개발왕 되다

취업과 이직에 대한 고민 해결

 

커리큘럼

전체

103개 ∙ (19시간 20분)

수업 자료

가 제공되는 강의입니다.

강의 게시일: 
마지막 업데이트일: 

수강평

아직 충분한 평가를 받지 못한 강의입니다.
모두에게 도움이 되는 수강평의 주인공이 되어주세요!