강의

멘토링

로드맵

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 - 基本編

こんにちは
です。

558,507

受講生

36,608

受講レビュー

8,965

回答

5.0

講座評価

25

講座

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

 

저의 개발 인생 이야기

EO 인터뷰 영상

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

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

 

カリキュラム

全体

103件 ∙ (19時間 20分)

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

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

受講レビュー

全体

929件

5.0

929件の受講レビュー

  • 박성근님의 프로필 이미지
    박성근

    受講レビュー 10

    平均評価 5.0

    5

    49% 受講後に作成

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

    • 김영한
      知識共有者

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

  • Pet Pity님의 프로필 이미지
    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년 되시길 응원합니다!

  • gnstjrdlsla님의 프로필 이미지
    gnstjrdlsla

    受講レビュー 4

    平均評価 5.0

    5

    7% 受講後に作成

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

    • 김영한
      知識共有者

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

  • suco님의 프로필 이미지
    suco

    受講レビュー 7

    平均評価 5.0

    5

    100% 受講後に作成

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

    • 김영한
      知識共有者

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

  • jackim97님의 프로필 이미지
    jackim97

    受講レビュー 42

    平均評価 4.8

    5

    6% 受講後に作成

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

    • 김영한
      知識共有者

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

期間限定セール

¥49,500

25%

¥7,832

yhの他の講座

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

似ている講座

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