강의

멘토링

로드맵

Inflearn brand logo image
BEST
Programming

/

Programming Language

キム・ヨンハンの実践Java - 中級1編

実務で必要なJavaの多様な中級機能を、サンプルコードを用いて深く学びます。

  • yh
자바
실습 중심
Java
oop

学習した受講者のレビュー

こんなことが学べます

  • 実務で必要な様々なJava中級機能

  • オブジェクト、不変オブジェクト、String、ラッパー、列挙型

  • 日付と時間、ネストされたクラス、例外処理

国内開発分野累積受講生1位、
きちんと作ったキム・ヨンハンの本番Java

単にJava文法を知っていますか?これはできません!

元優雅な兄弟たち技術理事、累積受講生40万人突破
キム・ヨンハンがJava講義を作った理由

•••

「本当の実務に必要なきちんとした開発者を作る、きちんとしたJava講義を作りたかったのです」

実務に使われるJavaの様々な中級機能

これまで、私たちは「Java入門」「Java Basic」の2つのレッスンを通して、プログラミングベータとオブジェクト指向の概念(OOP)について学びました。今回の「Java中級1編」講義では、その2つの基盤の上にJavaが提供する様々な中級機能を学習します。

  • Objectクラス

  • 不変オブジェクト

  • Stringクラス

  • ラッパー、クラスクラス

  • 列挙型: ENUM

  • 日時

  • 入れ子クラス、内部クラス

  • 例外処理

コードでWhyを確実に理解する

あなたの基本は本当に重要です。ところで基本基は何でしょうか?単にJavaの文法と機能をよく知っていますか?

実務で多くのジュニア開発者の中でうまく成長できない方を見ると、ほとんどのJava文法と機能はわかりますが、この機能がなぜ必要なのか本質的な理解ができないことが多かったです。

反対に、よく成長するジュニア開発者を見ると、Javaの文法と機能を知るレベルを超えて、この技術がなぜ必要なのか本質的な理解をしています。そのような理解に基づいて、機能をうまく活用し、さまざまな試みをしてみて、急速に成長する様子を見ました。これらの違いはどこから来るのでしょうか?

これまでに出てきた多くの本や講義を見ると、Javaが提供する技術がなぜ必要なのか、本質的な理由を説明するのではなく、単にJavaの文法と機能中心に教えることが多かったからです。

このレッスンは単に文法中心のレッスンではなく、サンプルコードでこの機能がなぜ必要なのかを段階的に理解します。
そして、あなたが学んだ内容を実務でうまく活用できるように、実務で主に使う方法も一緒にお知らせします。

実務に必要なJava技術を深くしっかり教えていきます。

キム・ヨンハンの本番Javaロードマップ

この講義はキム・ヨンハンの実践Javaロードマップ3番目の講義で、Java基本文法を学習した方を対象としています。

>>目的に合わせて効果的に学習できるようにJavaロードマップガイドをご紹介します。

「キム・ヨンハンの本番Java - 中級1編」講義は

本質的理解の重要性

Javaの文法と機能を単に知るだけではなく、その機能がなぜ必要であり、どのように実務に適用できるのかについて深く探求します。

実践的なアプローチ

単純な理論的な伝達ではなく、サンプルコードを使用してJavaテクノロジの必要性を段階的に理解します。また、さまざまな例を使用して、各技術が実務でどのように利用されるかを理解することができます。

私たちの目標は、単純な文法以上の本質です。

この講義は単純な文法伝達を超えて、Java技術が実務においてなぜ重要なのかについての本質的な理解を目指しています。皆さんがJavaの基礎をしっかり固め、これをもとに実務で良い開発者にうまく成長できるようにします。

以降に学習する「中級2編」では

ジェネリックとコレクションを深く扱います。

特にコレクションの場合、コレクションを直接実装しながら原理を理解します。そのため、各データ構造がどのような場合に性能が良く、一部の場合には性能が悪いのか、根本的な理由を理解して活用できるようになります。

講義内容

  • ジェネリックとコレクションのフレームワークを学ぶ前に、実務に必要なJavaの中級機能を学びます。

  • 実用的なサンプルコードを使用すると、それぞれの機能がなぜ必要なのかを本質的に理解できます。

Objectクラス

Object クラスは、すべてのクラスの最上位親です。

このレッスンでは、Objectクラスが必要な理由とObjectクラスが提供する機能について学びます。また、equals() を通じて Java の同一性と同等性の概念も一緒に学習します。

不変オブジェクト

一度作成すると、それ以降変わらないオブジェクトを不変オブジェクトといいます。

後で説明するString、ラッパー、日付と時刻を含むJavaによって提供される多くのオブジェクトは、不変オブジェクトとして提供されます。ここでは、不変オブジェクトがなぜ必要なのか、そして不変オブジェクトを作成する方法を学びます。

Stringクラス

Stringクラスは、Javaで文字列を扱うときに使用されるクラスです。ここでは、Stringオブジェクトの基本機能だけでなく、StringBuilderとStringの機能とパフォーマンスの違いも学びます。また、JavaがStringクラスをどのように最適化するかを深く学びます。

ラッパー、クラスクラス

Java基本型の限界を調べ、その限界を克服するためのラッパークラスを学習します。ラッパークラスのオートボクシング、主なメソッドも学習します。

さらに、クラスの情報を表す Class クラス、システムの情報を提供する System クラス、よく使う Math、Random などのクラスも一緒に学びます。

列挙型 - ENUM

列挙型は、高いタイプの安全性を提供する優れた機能です。

ここでは、単に列挙型の文法を学ぶのではなく、本質的になぜ列挙型が必要なのかを話します。そして、列挙型がなかった時代に直接実装したタイプの安全列挙型パターンも実装してみます。また、さまざまなサンプルコードを使用して、列挙型を実務上どのように活用できるかを学びます。

日時

日付と時刻を計算するのは一見単純なようですが、非常に難しいです。したがって、Javaが提供するライブラリを使用する必要があります。

Javaの日付と時刻ライブラリの歴史から始めて、どのような状況でどの日付と時刻のクラスを使用するべきかをさまざまな例でまとめます。

入れ子クラス、内部クラス

クラス内部にクラスを置くことを入れ子クラスまたは内部クラスといいます。ここでは、すべてのネストされたクラスを完全にマスターすることを目指しています。

静的ネストクラス、内部クラス、ローカルクラス、匿名クラスまで、すべてのネストクラスを記述します。単に文法中心で説明するのではなく、どのように利用されるかをコードと例で説明します。特に難しい概念であるローカル変数キャプチャについても、図で簡単に解いて説明します。

例外処理

Javaでの例外処理文法は単純ですが、例外処理がなぜ必要であり、また、実務でどのように活用すべきかを正しく理解することは困難です。

ここでは、まず例外処理がなかった時期に戻ります。そして、サンプルコードを徐々に改善していきながら、本質的に例外処理がなぜ必要なのかその理由を一つずつ探していきます。

最後に、実務でどのように例外を処理するのが良いか、実務ベストプラクティスについてもお知らせします。

「どんなことをもっと教えなければならないのかよりも、必ず知っておくべき内容が何なのかをさらに深く悩みました。」

今回の「キム・ヨンハンの本番Java Javaロードマップ」で私の目標は、本当の実務に必要な基本基盤がしっかり装備された実力ある開発者を作ることです。 「なぜこんな機能が必要なの?」という本質的な質問を投げることができる、それから応用して成長していくことができるJava開発者に成長できるようにお手伝いします。

こんな方に
おすすめです

学習対象は
誰でしょう?

  • 実務で必要なJavaをより深く理解したい開発者

  • Javaの勉強はしたが、基礎をしっかり固めたい方

  • 開発者就職準備生

前提知識、
必要でしょうか?

  • キム・ヨンハンの実践Java - 基本編

こんにちは
です。

552,822

受講生

36,139

受講レビュー

8,952

回答

5.0

講座評価

24

講座

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

 

저의 개발 인생 이야기

EO 인터뷰 영상

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

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

 

カリキュラム

全体

103件 ∙ (19時間 20分)

講座資料(こうぎしりょう):

授業資料
講座掲載日: 
最終更新日: 

受講レビュー

全体

900件

5.0

900件の受講レビュー

  • sg2pooh9981님의 프로필 이미지
    sg2pooh9981

    受講レビュー 10

    平均評価 5.0

    5

    49% 受講後に作成

    I recommend that you read the Java basics book on the market once and then take this class. You will be able to see how well the English teacher teaches only if you study the book by yourself while racking your brain.

    • yh
      知識共有者

      Hahaha, Mr. Park Sung-geun, your hard work paid off :) Thank you^^!!

  • pitypet9518님의 프로필 이미지
    pitypet9518

    受講レビュー 1

    平均評価 5.0

    5

    100% 受講後に作成

    It's been almost 20 years since I developed only ERP system with development tool (Powerbuilder) not JAVA, but because of user requirements or many requests for web-based development of other systems, I needed to study for web service. I didn't know anything about JAVA or Spring, and I didn't know what kind of education I should receive, so I paid for and listened to all three lecturers' lectures on Spring. Kim Young-han is one of those three. My current progress in listening to each lecturer's lecture is 1. I have completed all of Kim Young-han's lectures except JPA. I listened to everything from basic network to introduction to Spring, backend, and DB (excluding JPA) at least twice. The reason I excluded JPA is because ERP has many complex queries, so I thought it would be more efficient to create SQL directly with MYBATIS. 2. Another instructor A's lecture had Spring 1 and 2, but I stopped halfway through the first part. The characteristic is that it focuses a lot on JSP, so it is somewhat helpful for the JSP that my company is currently using, but other than that, instead of testing it once before the lecture, there were too many problems to solve during the lecture, so it was loose. The materials were not prepared well. 3. Another instructor B's roadmap was halfway through. Although instructor B seemed to have a lot of knowledge, the lecture scenario was lacking. It was a lecture that ended in one shot rather than a linked progression, so the lack of materials was noticeable. It felt like learning short pieces of knowledge one by one rather than understanding the big picture of Spring, and there were many parts that were difficult to proceed because the Spring version was low and many objects that had already been deprecated were used. Anyway, while listening to Instructor B's lecture, JPA came up, and I thought I should go deeper into JPA, so I bought all of Kim Young-han's JPA lectures, and now that I've finished Java Intermediate 1, I'm going to proceed with JPA. While listening to Kim Young-han's lectures, I was learning Java for the first time, but I ignored Java and started right away with Spring, and it wasn't that difficult, and I was able to compare it with the development languages I had used before, and I was able to learn new things, which was really great. In addition, While listening to Spring, Backend, and DB, I searched the web for parts I didn't understand, and I was able to solve many of the questions I had at that time through this Java lecture, which was great. I feel that Kim Young-han's lectures are definitely better prepared than other lectures. From the examples used in the lectures, to the storytelling that gradually develops, and even the video editing (of course there were a lot of them. You can clearly see them as you watch the lectures), I can see the big picture with my eyes because he does a really good job.

    • yh
      知識共有者

      Pet Pity, thank you for putting so much heart into your class review. It gives me great strength. I will come back with better lectures in the future :) I hope you study hard and grow greatly in 2024!

  • gnstjrdlsla5350님의 프로필 이미지
    gnstjrdlsla5350

    受講レビュー 4

    平均評価 5.0

    5

    7% 受講後に作成

    Hahaha.. I can't stop laughing when I see the intermediate version uploaded :D I'll try to scrape it all up and enjoy it ^ㅡ^

    • yh
      知識共有者

      Thank you for waiting, gnstjrdlsla :) I hope you enjoy your studies and grow a lot!

  • suco님의 프로필 이미지
    suco

    受講レビュー 7

    平均評価 5.0

    5

    100% 受講後に作成

    Following the basic course, I took all of the intermediate course 1 lectures. The process of finding the principles was fun, and it was a lecture that helped me fill in the depth of Java that I lacked. [Reason to learn] This lecture also clearly explained the part about 'Why should I learn this?'. In preparation for the upcoming advanced course, I was impressed by the way the difficulty of the concepts was differentiated and the part that I needed to know now was explained in depth and the preparation for the next lecture was also done. In addition to the basic course that explained the parts that everyone had heard of but did not understand properly, it was a time to scratch the itch by covering concepts that I had heard of a lot but did not know properly. [More solid examples] In addition to the smooth lectures in the basic course, I was impressed by the solid examples, and the examples made me think that the depth of my thoughts increased as the difficulty level increased. In terms of the CSAT, it felt like looking at the evaluation center's problems rather than the mock exams on the market. [Highly recommended for those in the field] Many people in the field are developing with Java, but there may not be many who know it as deeply as you think. I also work with Spring Framework and Java, but I don't think I can confidently say that I know Java. I am sure that this lecture will be a time for those in the field to understand and utilize concepts that they did not know or could not confidently talk about. [Viewing the lecture more valuable] I think it was really hard to find any regrets this time. Since it is an 'online lecture', everything can be resolved. If it is difficult to keep up with Younghan's respectful typing speed, you can watch it at a slower speed or watch it again. I think the difficulty level has increased compared to the basic version, so a lot of review and understanding time is needed. In order for this lecture to be more valuable to us, I think a lot of review and understanding and thinking time is needed. Watching the next lecture is important, but it would be better to first try to understand it perfectly! [To Younghan] In the last lecture, I urged you to do the guitar. You said that your child will be born in May...and asked for a quick release.. Your child came two weeks early before you finished listening to the first part of Intermediate. The words, 'new but always together' really hit home. I'm so curious about how Younghan spent his personal time after becoming a father! I'm definitely short on time, but I'll try to follow along slowly and steadily.

    • yh
      知識共有者

      Congratulations to suco :) Usually, when you become a father, you start to think that you have to work harder for your family. But I think balance is important. For example, I think it's good to spend time at home or on weekends with your family and for your wife who is having a hard time. And making good memories with your child is also very precious. Instead, I think it's wise to think about ways to make time by going to work a little earlier on weekdays, studying separately during lunch, or using your commuting time to make up for the reduced time :)

  • jackim971206님의 프로필 이미지
    jackim971206

    受講レビュー 42

    平均評価 4.8

    5

    6% 受講後に作成

    Thank you, Professor Kim Young-han, for releasing the lecture. I will listen to it diligently and listen to the intermediate 2nd part next month. Please take care of your health and give us many good lectures. Cheer up. Fighting! *^^*

    • yh
      知識共有者

      Thank you for your support, jackim97. I will also prepare hard for the next lecture^^!

¥7,865

yhの他の講座

知識共有者の他の講座を見てみましょう!

似ている講座

同じ分野の他の講座を見てみましょう!