Inflearn brand logo image
Inflearn brand logo image
Inflearn brand logo image
BEST
Programming

/

Programming Language

基礎タンタン!ひどく起動するJava - Part 2: OOPとJVM

ちょうど2つを'正しく'扱います。まさにオブジェクト指向プログラミングとJVM!そこに連結リストベースの線形データ構造もおまけにさせていただきます。

  • nullnull8537
자료구조
Java
이론 실습 모두
oop
jvm
data-structure

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

こんなことが学べます

  • オブジェクト指向プログラミング技術

  • OOP言語を使用して作成されたフレームワークを活用する方法

  • JVMの動作原理とhashCodeの実体

  • 接続リストベースの線形データ構造

文法ですか?重要です。しかし、その前にOOPの本質を知ることがより重要です。
そしてJVMについてもよく知らなければ競争力のある開発者になることができます!


「JVM(Java Virtual Machine)」まで
扱う理由🤔

📺 Part 2 受講希望者 皆さん是非ご覧ください! 📺

この講義をきちんと終えたら
専攻者に批判できる高い理解に基づいて
Javaを活用できます。

オブジェクト指向プログラミング

誰もがOOPについて話し、文法を学びます。しかし、いかにどのように活用し、どのような状況に適用すべきかを感知できないことが多いです。そこで学んだ文法を堪能できるミニプロジェクトを実習例として用意しました。

JVM(*Java Virtual Machine)

Javaで作成されたすべてのプログラムは、最終的にJVMで実行されます。結局のところ、JVMの深い理解は、Javaの深い理解であり、多くの企業が必要とする実力ある開発者の前提条件です。そのような状況で競争力を持たせるために、JVMについて惜しみなくお知らせします。

基本データ構造まで一度に

Javaでできることの中で最も一般的なことは、DB入出力とデータ活用です。そのためには、データ構造の理解は必須と言えます。そのため、この講義には代表的な線形データ構造である連結リストを含めました。

デザインパターン

Java文法とオブジェクト指向プログラミング手法に加えて、設計原則(デザインパターンの一部)まで提示します。これに基づいて、ただの文法だけを知り、Javaを扱うコーダーではなく、真の開発者に成長することができます。

※ここでちょっと! JVMとは?
Java Virtual Machine(JVM)は、Javaプログラムをコンピュータで実行するのに役立つ仮想マシンです。

学習対象


コードだけがうんざりしている
頭の中に残るものがないと感じたプログラミング入門者


バックエンド開発者として
就職したい就職準備生


たくさん書く言語だから
学んだが本質をよく知らない
1~2年目ジュニア開発者

学習ロードマップ🏃🏻

ひどく始まるJavaシリーズは合計4つの講義で行われます。
付録1,2レッスンは、Springバックエンド開発者として成長するために一緒に聞くと良いレッスンです🙂

  • Part 1: 基本的な文法、手続き型プログラミング

  • パート2:オブジェクト指向プログラミング+データ構造

  • Part 3: システム活用プログラムの作成

  • パート4:Spring Frameworkに進むための準備

  • 別途1:Webインフラストラクチャ技術の理解とDB

  • 別途 2: SQL 拡張


パート2は、オブジェクト指向プログラミング、データ構造、およびJVMについて学びます。特にJVMは、Spring frameworkベースのJavaバックエンドの実務開発者になるために不可欠です。プログラミング言語の文法とOOPを駆使し、システム運用まで考えられる能力のある開発者になるための基礎を尽くします。

この講義を聞いた後...

  • 継承と再定義を文法で理解するのではなく、フレームワークを実装するコア原理として理解し、本当にきちんとOOPを駆使することができます。


  • 問題(処理条件)を明確に分析し、どのような形でコード化するかを具体的に考えることができます。また、例作成過程で発生する各種エラーに自ら対応できる実力が生まれます。


  • JVM の GC (Garbage collector) がどのような原理で動作するかを正しく理解できます。また、参照者とインスタンスを完全に分離して考えることで、NullPointerException エラーに確実に対応できるようになります。

ひどく始まるJavaは
ただJava講義ではありません。

1⃣
入門段階で
JVM構造から学びます。

  • 入門段階であるにもかかわらず、JVM構造をはじめ、様々な構造的な理論を一緒に学びます。

    これにより、Javaで開発したアプリケーションの基本的な動作原理を理解できます。

  • これは、最終的に後日の実務開発者に成長した時、新入らない障害対応能力で結実結びます。


2⃣
抽象的な概念ではなく
本当に正しくハッシュコードを理解することができます。


  • Javaは、言語の性質上、クラスへの参照型としてインスタンスを識別します。この2つを一緒に使用する過程で、参照型変数をインスタンスとして同一視する問題が生じることがありますが、これらの問題を解決するために存在するHash codeの実体が何であるかを正しく知ることができます。

3⃣
設計(デザインパターン)まで扱う
入門講義

  • クラスの文法を知っていても、OOP設計を理解し、クラス間の関係を正しく定義できない場合は、Javaを正しく学んだとは言えません。

  • このレッスンでは、この問題を簡単に克服するために、クラスで使用されている例にデザインパターンをいくつか適用しました。

4⃣
整理された教育資料と板書📜

  • すべての授業内容はPPT資料に基づいていますが、まるでホワイトボードに板書をするかのように説明が続きます。

  • これにより、受講者は完成した1つの結果のみを見るのではなく、 構造が生まれた背景と理由全体の流れを総合的に理解することができます。

5⃣
目標は差別化された競争力と就職です💼

  • 本格的なJavaプログラミングを学ぶ前に、この授業が就職を目指していることを明確に伝えます。そして

    講師の長年の経験を踏まえ、明確な学習ロードマップと所要時間を提示します。

  • 間違った選択で時間を無駄にすることがないように、最初から適切な学習配分とスケジュールを確立するように誘導します。

6⃣
文法を超えて実用的な能力を
確保するためのデバッグ🐞

  • IntelliJデバッガの使い方を具体的に学びます。単純なPosition breakpointはもちろん、条件式を反映してより簡単に活用する方法も扱います。

  • JVMで各インスタンスを一意に識別する目的で付与されたObjectIDを利用して、Deep copyとShallow copyを区別する方法など、実質的なデバッグ方法を体験できます。

7⃣
真のOOPプログラミングを直接体験できる
続く実践問題提供🛠

  • 授業に学んだ内容をすぐに活用してみるために、様々な実習問題を提供します。

  • 手続き型プログラミング手法で作成されたコードをオブジェクト指向的にリファクタリングする過程を実習で直接経験し、この過程で学習した内容の大部分を実際に活用します。

練習環境

  • オペレーティングシステムとバージョン(OS): Windows 11

  • 使用ツール: IntelliJ IDEA 2024.2.3 (Community Edition)

  • PC仕様:Windows 11 OSとIntelliJが無理なく動作できるレベル

学習資料

  • 授業に使用されたPPT資料(PDFファイルで提供)

  • 完全な例と必須の練習問題正解(Zip圧縮ファイルとして提供)

選手の知識と注意事項

こんな方に
おすすめです

学習対象は
誰でしょう?

  • ひどく始まるJava - Part 1を終了して次のステップに進む人

  • 真のオブジェクト指向プログラミングの原理を知りたい方

  • JVMがインスタンスを管理する方法と内部構造について知りたい人

  • Javaの深い理解を体験したい開発者

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

  • ひどく始まるJava - Part 1

  • 広く浅く覚えてコムボール専攻者になる

こんにちは
です。

36,719

受講生

2,105

受講レビュー

1,093

回答

4.9

講座評価

24

講座

KakaoTalk_20250811_205405839.png.webp

널널한 개발자 TV 채널 주인장이자
30년 넘게 IT기술의 바다를 항해하고 있는 개발자 입니다.  반갑습니다. ^^  

カリキュラム

全体

77件 ∙ (20時間 14分)

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

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

受講レビュー

全体

34件

5.0

34件の受講レビュー

  • 파이팅님의 프로필 이미지
    파이팅

    受講レビュー 1

    平均評価 5.0

    5

    95% 受講後に作成

    하나하나 깊이 있는 원리를 알려주신 덕분에, 다시 한번 세상은 마법처럼 돌아가는 것이 아니라는 것을 깨달았습니다. 내용을 꼼꼼히 이해하려다 보니 완강까지 시간이 조금 걸렸지만, 그만큼 얻어가는 것도 많아 매우 만족스러웠습니다. 감사합니다.

    • 널널한 개발자
      知識共有者

      와우~! 강렬한 평가 고맙습니다. 개발자는 그 마법을 구현해야 할 사명을 가진 사람이라 할 수 있지 않을까 싶습니다. 멋진 의견 감사합니다. :)

  • hope님의 프로필 이미지
    hope

    受講レビュー 3

    平均評価 5.0

    5

    36% 受講後に作成

    책을 통해 자바를 학습하거나, 학수 수준에서 자바를 학습했습니다. 스스로 되돌아보는 과정에서 '자바 사용법'만 익혔지, 동작 원리는 모른채 사용하고 있더군요. 강의를 들어보니 기존에 알고 있는 내용도 있지만, 그 속에서 애매하게 알고 있었던 내용이라던지, 단순히 자바 사용법만 가르치는 강의에서는 들을 수 없는 다양한 얘기들이 포함되어 있어서 매우 좋았습니다. 훈이 얘기라던지, 팩폭(?) 해주는 내용이 은근 재밌어서 잘 듣고 있습니다. 강의 자료도 있지만, 그것보단 실시간으로 펜으로 설명해주셔서 이해가 잘됩니다! 어제 라이브에서 part3가 12월 말에 나올 수도 있다고 하셨는데 기다리고 있겠습니다! 좋은 강의 감사합니다.

    • 널널한 개발자
      知識共有者

      다행히 강의 스타일이 맞았나보네요. 어쩌면 불편했을 수 있는 부분이지만 농담으로 잘 받아주셔서 감사드립니다. 원론을 이해하면 결과적인 문법이 당연해보이는 이해의 수준을 경험할 수 있지요. 꼭 그렇게 되시기를 진심으로 바라고 응원하겠습니다. Part 3도 잘 준비해서 공개하겠습니다. 고맙습니다. :)

  • 별다방님의 프로필 이미지
    별다방

    受講レビュー 13

    平均評価 4.5

    5

    29% 受講後に作成

    역시나입니다. 특히 JVM은 신세계입니다. 좋은 강의 만들어주셔서 감사합니다. 후딱 완강하고 part3 기대하겠습니다!!

    • 다알쥐DAALZZWI님의 프로필 이미지
      다알쥐DAALZZWI

      受講レビュー 2

      平均評価 5.0

      5

      13% 受講後に作成

      조금 어려워졌지만 좋아요! 자바 1탄 강의 "고민있어요" 섹션에 글 올렸는데 확인 부탁드려요!

      • 널널한 개발자
        知識共有者

        새 강의를 오픈하면 아무래도 첫 수강평을 떨리는 마음으로 기대리게 됩니다. 다행히 좋은 평가 주셔서 고맙습니다. :)

    • wkdtl345님의 프로필 이미지
      wkdtl345

      受講レビュー 8

      平均評価 5.0

      5

      100% 受講後に作成

    ¥7,837

    nullnull8537の他の講座

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

    似ている講座

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