BEST

Kim Young-han's Practical Java - Intermediate Level 1

This book provides an in-depth study of various intermediate-level Java features necessary for practical work, using example code.

(5.0) 737 reviews

9,695 students

Java
oop

This course is prepared for Basic Learners.

What you will learn!

  • Various intermediate Java features needed for practical work

  • Object, Immutable Object, String, Wrapper, Enum

  • Date and time, nested classes, exception handling

Ranked 1st in cumulative number of students enrolled in domestic development field
Kim Young-han's Practical Java Made Right

Just knowing Java grammar? That won't do!

Former Technology Director of Woowa Brothers, Cumulative Students Surpass 400,000
Why Kim Young-han created Java lectures

•••

“I wanted to create a proper Java course that would create proper developers needed for real work.”

Various intermediate Java functions used in practice

So far, we have learned about programming fundamentals and object-oriented concepts (OOP) through two lectures , "Java Introduction" and "Java Basics ." In this lecture, "Java Intermediate Part 1," we will learn about various intermediate functions provided by Java based on those two lectures.

  • Object class

  • Immutable Object

  • String class

  • Rapper, Class Class

  • Enumeration: ENUM

  • Date and time

  • Nested classes, inner classes

  • Exception handling

Understand Why Clearly Through Code

Guys, the basics are really important. But what are the basics? Is it just knowing Java's grammar and functions?

In my field, when I look at many junior developers who are not growing well, I see that most of them know Java grammar and functions, but they often do not have a fundamental understanding of why these functions are necessary.

On the other hand, when I look at junior developers who are growing well, I see that they go beyond the level of knowing Java’s grammar and functions and have a fundamental understanding of why this technology is necessary . Based on that understanding, I see them making good use of the functions and trying out various things, and growing quickly. Where does this difference come from?

This is because many books and lectures published so far have focused on teaching Java's grammar and functions rather than explaining the essential reasons why the technologies provided by Java are necessary.

This course is not just a grammar-focused course, but will also walk you through why this feature is necessary step by step through example code .
And to help you put what you've learned to good use in practice, we'll also teach you the methods most commonly used in practice.

We will teach you in depth and properly the Java technologies that are essential for practical work .

Kim Young-han's Practical Java Roadmap

This lecture is the third lecture of Kim Young-han's Practical Java Roadmap , and is intended for those who have learned basic Java grammar.

>> Introducing the Java Roadmap Guide to help you learn effectively and appropriately for your purpose .

The lecture "Kim Young-han's Practical Java - Intermediate Part 1" is

The importance of essential understanding

Rather than simply learning Java's syntax and features, we delve deeply into why those features are necessary and how they can be applied in practice.

A practical approach

Rather than simply conveying theories, it provides a step-by-step understanding of the necessity of Java technology through example code. In addition, through various examples, you can understand how each technology is utilized in practice.

Our goal is more than just grammar.

This course goes beyond simple grammar delivery and aims to provide a fundamental understanding of why Java technology is important in practice. We will help you build a solid foundation in Java fundamentals and grow into a good developer in practice based on this.

In “Intermediate Part 2”, which you will learn later,

We cover generics and collections in depth.

Especially in the case of collections, you will understand the principles while implementing the collection directly . So you will be able to understand and utilize the fundamental reasons why each data structure performs well in some cases and poorly in others.

Lecture Contents

  • Before learning the generics and collection framework, you will learn several intermediate Java features necessary for practical work.

  • You can gain a fundamental understanding of why each function is necessary through practical example code.

Object class

The Object class is the top-level parent of all classes.

In this lecture, we will learn why the Object class is needed and what functions it provides. We will also learn about the concepts of identity and equality in Java through equals().

Immutable Object

An object that does not change once it is created is called an immutable object.

Many objects provided by Java, including String, wrappers, dates and times, which will be explained later, are provided as immutable objects. Here, we will learn why immutable objects are necessary and how to create immutable objects.

String class

The String class is a class used when handling strings in Java. Here, we will learn about the basic functions of the String object, as well as the differences in functions and performance between StringBuilder and String. We will also take a deep look at how Java optimizes the String class.

Rapper, Class Class

Learn about the limitations of Java primitives and learn wrapper classes to overcome those limitations. You will also learn about auto-boxing and key methods of wrapper classes.

Additionally, we will learn about the Class class that shows information about the class, the System class that provides information about the system, and frequently used classes such as Math and Random.

Enumeration - ENUM

Enumerations are a great feature that provide high type safety.

Here, we will not simply learn the grammar of enumerations, but will talk about why enumerations are essential. And we will also implement a type-safe enumeration pattern that we implemented ourselves in the days when there were no enumerations. We will also learn how to effectively utilize enumerations in practice through various example codes.

Date and time

Calculating dates and times may seem simple on the surface, but it is actually quite difficult. That is why we need to use the libraries provided by Java.

Starting with the history of the Java date and time library, we will explain which date and time classes to use in which situations through various examples.

Nested classes, inner classes

Placing a class inside a class is called a nested class or inner class. The goal here is to master all nested classes.

Explains all nested classes, including static nested classes, inner classes, local classes, and anonymous classes. Rather than simply explaining the grammar, it explains how to use it with code and examples. It also explains the difficult concept of capturing local variables in an easy-to-understand manner with illustrations.

Exception handling

In Java, exception handling syntax is simple, but it is difficult to properly understand why exception handling is necessary and how to utilize it in practice.

Here, we first go back to the days when there was no exception handling. Then, as we gradually improve the example code, we find out one by one why exception handling is essentially necessary.

Finally, we will also provide practical best practices on how to handle exceptions in practice.

“Rather than thinking about what more I should teach, I thought more deeply about what absolutely must be known.”

In this 'Kim Young-han's Practical Java Roadmap', my goal is to create a capable developer who has a solid foundation of basic skills necessary for actual work. I will help you become a Java developer who can ask the fundamental question, 'Why do we need this function?' and grow by applying it.

Recommended for
these people!

Who is this course right for?

  • Developers who want to understand Java more deeply for practical work

  • For those who have studied Java but want to solidify their fundamentals

  • Aspiring developer

Need to know before starting?

  • Kim Young-han's "Practical Java - Fundamentals"

Hello
This is yh

531,261

Students

32,984

Reviews

8,852

Answers

5.0

Rating

22

Courses

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

 

저의 개발 인생 이야기

EO 인터뷰 영상

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

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

 

More

Curriculum

All

103 lectures ∙ (19hr 20min)

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

All

737 reviews

5.0

737 reviews

  • suco

    Reviews 7

    Average Rating 5.0

    5

    100% enrolled

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

    • 김영한
      Instructor

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

  • 박성근

    Reviews 10

    Average Rating 5.0

    5

    49% enrolled

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

    • 김영한
      Instructor

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

  • gnstjrdlsla

    Reviews 4

    Average Rating 5.0

    5

    7% enrolled

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

    • 김영한
      Instructor

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

  • Pet Pity

    Reviews 1

    Average Rating 5.0

    5

    100% enrolled

    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 강의를 통해서 해결되는 부분도 많아서 좋았습니다. 김영한님의 강의는 다른 분과의 강의의 비해서 확실히 강의 준비가 잘 되어 있음을 느낍니다. 강의에서 사용한 예제부터, 점차 발전해 나가는 스토리텔링, 게다가 영상편집(당연히 많았겠죠. 강의를 보다보면 확실하게 눈에 보입니다.)을 정말 잘 해주셔서 큰 흐름을 눈으로 볼수가 있네요.

    • 김영한
      Instructor

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

  • jackim97

    Reviews 41

    Average Rating 4.8

    5

    6% enrolled

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

    • 김영한
      Instructor

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

yh's other courses

Check out other courses by the instructor!

Similar courses

Explore other courses in the same field!

$51.70