채널톡 아이콘
BEST

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

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

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

이런 분들께
추천드려요!

학습 대상은
누구일까요?

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

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

  • 개발자 취업 준비생

선수 지식,
필요할까요?

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

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

505,098

수강생

31,760

수강평

8,796

답변

5.0

강의 평점

22

강의

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

 

저의 개발 인생 이야기

EO 인터뷰 영상

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

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

 

더보기

커리큘럼

전체

103개 ∙ (19시간 20분)

해당 강의에서 제공:

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

수강평

전체

660개

5.0

660개의 수강평

  • 박성근

    수강평 10

    평균 평점 5.0

    5

    49% 수강 후 작성

    시중에 나와 있는 자바기본서 1회독 해보고 이 수업을 들어보길 추천 드립니다. 혼자서 머리 깨지면서 책으로 공부해봐야지 영한쌤이 얼마나 잘 가르쳐주시는지 알 수 있을 겁니다

    • 김영한
      지식공유자

      ㅎㅎㅎ 박성근님 열심히 준비한 보람이 있네요 :) 감사합니다^^!!

  • suco

    수강평 7

    평균 평점 5.0

    5

    100% 수강 후 작성

    기본편에 이어서 중급 1편의 강의를 모두 수강하였습니다. 원리를 찾아가는 과정이 즐거웠고, 부족했던 자바에 대한 깊이를 채울 수 있는 강의였습니다. [배워야하는 이유] 이번 강의에서도 '왜 이걸 배워야하지?'에 대한 부분이 명확했습니다. 다가오는 고급편을 대비하여, 개념의 난이도를 구분하셔서 지금 알아야하는 부분을 깊이있게 설명해주시고 다음 강의에 대한 준비 또한 하시는 모습이 인상 깊었습니다. 누구나 들어봤지만, 제대로 이해하지 못했던 부분을 설명했던 기본편에 더해서 많이 들어는 봤지만, 제대로 알지 못했던 개념들을 다뤄주셔서 가려운 곳을 긁을 수 있는 시간이었습니다. [더욱 탄탄해진 예시] 기본편에서도 매끄러운 강의에 더해 예시가 정말 탄탄해서 감동했었는데, 올라가는 난이도에 맞춰서 고민의 깊이도 올라갔다는 생각이 드는 예시들이었습니다. 수능으로 치자면 시중의 모의고사가 아닌, 평가원의 문제들을 보는 느낌이었습니다. [현업에게 적극 추천] 현업의 많은 분들이 자바를 가지고 개발을 하고 계시지만, 생각보다 깊이있게 알고 계신분들은 많지 않을 수 있습니다. 저도 스프링 프레임워크와 자바를 가지고 일을 하고 있지만, 자신있게 자바에 대해 알고 있다고 할 수 없을 거 같습니다. 이번 강의는 현업에서 일을 하고 계신분들에게도 몰랐거나, 혹은 자신있게 말하지 못했던 개념들을 이해하고 활용할 수 있는 시간이 될 거라고 확신합니다. [강의를 더욱 가치있게 보기] 이번엔 정말 아쉬운점을 찾기 힘들지 않았나 싶습니다. '인터넷강의'이기 때문에 모두 해결할 수 있습니다. 영한님의 경의로운 타자 속도를 따라가기 힘들다면 속도를 늦춰서 보거나, 다시 돌려볼 수 있습니다. 기본편보다 난이도가 올라갔다고 생각되어 많은 복습과 이해하는 시간이 필요합니다. 이 강의가 더욱 우리에게 가치있게 다가오려면, 많은 복습과 이해하고 고민해보는 시간이 필요할 거 같습니다. 다음 강의를 보는것도 중요하지만 완벽한 이해를 먼저 해보는것이 좋을거 같습니다! [기타 영한님에게] 지난번 강의에서는 기타 독촉을 했었습니다. 5월에 아이가 나온다고 하였고...빠른 출시를 부탁했었죠.. 아이는 중급 1편을 다 듣기전에 2주 빨리 찾아와주었습니다. '새롭지만 항상 함께 있었던 것 같은'이라는 말이 정말 와닿았습니다. 영한님은 아빠가 되시고 어떻게 개인시간을 보내셨는지 너무 궁금하네요! 시간이 절대적으로 부족하지만, 천천히 꾸준히 따라가도록 하겠습니다.

    • 김영한
      지식공유자

      suco님 진심으로 축하합니다 :) 보통 아빠가 되면 가족을 위해서 더 열심히 살아야겠다는 생각을 하게 되더라구요. 다만 균형이 중요한 것 같아요. 예를 들어서 집에 있는 시간이나 주말은 가족과 함께 또 힘든 아내를 위해서 시간을 보내는 것이 좋다 생각해요. 그리고 아이와 좋은 추억을 만드는 것도 너무 소중합니다. 대신에 시간이 줄어든 만큼 평일 회사에 조금 더 일찍 출근하거나, 또는 점심 시간에 따로 공부하거나, 출퇴근 시간을 활용하는 식으로 시간을 쪼개서 만들어내는 방법을 고민하는게, 지혜로운 방법이라 생각합니다 :)

  • gnstjrdlsla

    수강평 4

    평균 평점 5.0

    5

    7% 수강 후 작성

    ㅎㅎㅎ.. 중급 편 업로드된 것을 보고 웃음을 멈출 수가 없네요 :D 맛있게 싹싹 긁어먹도록 하겠습니다 ^ㅡ^

    • 김영한
      지식공유자

      gnstjrdlsla님 기다려주셔서 감사합니다 :) 즐겁게 공부하시고 또 많이 성장하실 응원합니다!

  • Pet Pity

    수강평 1

    평균 평점 5.0

    5

    100% 수강 후 작성

    JAVA 가 아닌 개발툴(파워빌더)로 ERP 시스템만 개발한지가 벌써 20년이 다 되어 가는데, 사용자의 요구사항이나 또 다른 시스템은 웹 기반으로 개발을 요청이 많아서 웹 서비스를 위한 공부가 필요했습니다. JAVA니 스프링이니 전혀 모른채, 어떤 교육을 받아야 하는 지 전혀 몰라서 스프링 관련 강의를 3명의 강사분의 강의를 모두 결제를 하고 듣게 되었습니다. 그 3분 중에는 김영한 님도 포함이 되어 있습니다. 각 강사분의 강의를 듣는데 현재 진행상태는 1. 김영한님의 강의는 JPA 는 제외하고는 전부 다 완강이 되었습니다. 기본 네트워크부터 스프링입문, 백엔드, DB(JPA는 제외) 까지 최소 2번씩은 다 들었습니다. JPA를 예외로 둔 이유는 ERP가 특히 복잡한 QUERY가 많아서 MYBATIS로 직접 SQL을 만드는게 더 효율적이라 생각해서 입니다. 2. 다른 A 강사님의 강의는 스프링 1, 2 가 있었는데 1편만 절반 정도 진행하다 멈춘 상태입니다. 특징은 JSP 에 많이 중점적으로 되어 있어서 현재 제가 다니는 회사에서 사용중인 JSP에 좀 도움이 된다는 거지만 그 외에는 강의를 하기 전에 한번 테스트를 거치는 게 아닌 강의중에 문제를 해결하는게 너무 많아서 루즈해지더군요. 자료 준비가 너무 미흡하게 진행이 되었단 거죠. 3. 또 다른 B 강사님의 로드맵은 절반정도 진행되었습니다. B 강사님은 본인이 알고 있는 지식은 정말 많은 것 같긴 한데, 강의 시나리오가 부족했습니다. 뭔가 하나에서 연계되어 진행되는 식이 아닌 단발 단발로 끝이 나는 강의여서 이 또한 자료 부족한 부분이 눈에 띄더군요. 스프링의 큰 흐름을 이해하는 것이 아닌 짧은 지식 하나 하나를 배우는 것 같은 느낌이며, 또한 스프링의 버전이 낮아 이미 사용중지된 객체 사용이 많아서 진행에 좀 어려운 부분도 많았구요. 어찌되었던 B강사님의 강의를 들으면서 JPA도 나왔는데 여기서 다시 JPA 쪽을 좀 더 깊이 해볼까 하는 생각으로 김영한님의 JPA 강의를 모두 구매했으며 이제 JAVA 중급1이 끝났으니 JPA를 진행할 예정입니다. 김영한 님의 강의를 들으면서 처음 배우는 JAVA 인데 JAVA는 무시하고 스프링에서 바로 출발을 하면서도 그리 큰 어려움이 없었고 기존에 제가 사용했던 개발 언어에 대응을 하면서 서로간의 비교도 되고 또 새로운 부분을 알게 되어 정말 좋았습니다. 게다가 스프링, 백엔드, DB 를 들으면서 뭔가 이해가 안되는 부분을 웹에서 검색을 해 가면서 진행을 했는데 그때 당시 의문이 생겼던 부분을 이번 JAVA 강의를 통해서 해결되는 부분도 많아서 좋았습니다. 김영한님의 강의는 다른 분과의 강의의 비해서 확실히 강의 준비가 잘 되어 있음을 느낍니다. 강의에서 사용한 예제부터, 점차 발전해 나가는 스토리텔링, 게다가 영상편집(당연히 많았겠죠. 강의를 보다보면 확실하게 눈에 보입니다.)을 정말 잘 해주셔서 큰 흐름을 눈으로 볼수가 있네요.

    • 김영한
      지식공유자

      Pet Pity님 수강평에 마음을 가득 담아주셔서 저에게도 큰 힘이되네요. 저도 앞으로 더 좋은 강의로 찾아뵐게요 :) 열심히 공부하시고 또 크게 성장하는 2024년 되시길 응원합니다!

  • jackim97

    수강평 40

    평균 평점 4.8

    5

    6% 수강 후 작성

    김영한 선생님 강의 출시 감사합니다. 열심히 듣고 다음달에 중급2편도 들을께요. 건강 챙기시면서 좋은 강의 많이 부탁드려요. 힘내세요. 화이팅입니다. *^^*

    • 김영한
      지식공유자

      jackim97님 응원해주셔서 감사합니다. 저도 다음 강의 열심히 준비하겠습니다^^!

김영한님의 다른 강의

지식공유자님의 다른 강의를 만나보세요!

비슷한 강의

같은 분야의 다른 강의를 만나보세요!

연관 로드맵

강의가 포함된 로드맵으로 학습해 보세요!

₩46,200

30%

₩66,000