강의

멘토링

커뮤니티

BEST
Programming

/

Programming Language

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

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

難易度 初級

受講期間 無制限

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

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

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

5.0

5.0

파이팅

95% 受講後に作成

一つ一つ深くある原理を教えてくださったおかげで、もう一度世界は魔法のように戻るのではないことに気づきました。 内容を慎重に理解しようとすると、頑強まで時間が少しかかりましたが、それだけ得ていくことも多く、とても満足でした。ありがとうございます。

5.0

hope

36% 受講後に作成

本を使ってJavaを学ぶか、学部レベルでJavaを学びました。 自分で振り返る過程で「Javaの使い方」だけを身につけたのですが、動作原理は知らずに使っていましたね。 講義を聞いてみると、既に知っている内容もありますが、その中で曖昧に知っていた内容とか、単にJavaの使い方だけを教える講義では聞けない様々な話が含まれていてとても良かったです。 フンが話とか、パック幅(?)してくれる内容が隠れて面白くてよく聞いています。講義資料もありますが、それよりリアルタイムでペンで説明していただき理解が上がります! 昨日のライブでpart3が12月末に出てくるかもしれないと言われましたが、待っています! 良い講義ありがとうございます。

5.0

별다방

29% 受講後に作成

やっぱりです。 特にJVMは新世界です。 良い講義を作ってくれてありがとう。 後ほど頑強でpart3楽しみにしています!

受講後に得られること

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

  • 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とは?
JVM(Java Virtual Machine)は、Javaプログラムをコンピュータで実行できるようにサポートする仮想のコンピュータです。

学習対象


コードをひたすら打ち込むだけで
頭に何も残らないと感じたことのあるプログラミング初心者


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


よく使う言語だからといって
学んだものの本質をよく知らない
1〜2年目のジュニア開発者

学習ロードマップ 🏃🏻

独学で始めるJavaシリーズは全4つの講義で構成されています。
付録1、2の講義はSpringバックエンド開発者として成長するために一緒に受講すると良い講義です🙂

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

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

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

  • Part 4:Spring Frameworkに移行するための準備

  • 別途1:Webインフラ技術に対する理解とDB

  • 別途 2 : SQL 上級


Part 2ではオブジェクト指向プログラミングとデータ構造、そしてJVMについて学びます。特にJVMはSpring frameworkベースのJavaバックエンド実務開発者を目指す方にとって必須のものです。プログラミング言語の文法とOOPを駆使し、システム運用まで考えることができる能力のある開発者になるための礎を築きます。

この講義を受講すると...

  • 継承とオーバーライドを文法として理解するのではなく、フレームワークを実装する核心原理として理解し、本当にしっかりとOOPを駆使できるようになります。


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


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

徹底的に始めるJavaは
ただのJava講義ではありません。

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

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

    こうすることでJavaで開発したアプリケーションの根本的な動作原理を理解することができます。

  • これは結局、後に実務開発者として成長した時、新人らしくない障害対応能力として実を結ぶことでしょう。


2⃣
抽象的な概念ではなく
本当にしっかりとHash codeを理解することができます。


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

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

  • classの文法を知っていたとしても、OOP的な設計を理解し、クラス間の関係を適切に定義できなければ、Javaをきちんと学んだとは言えないでしょう。

  • この講義では、そのような問題を簡単に克服できるよう、授業で使用された例題にデザインパターンを一部適用しました。

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

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

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

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

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

こんにちは
です。

47,070

受講生

2,724

受講レビュー

1,160

回答

4.9

講座評価

25

講座

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

カリキュラム

全体

77件 ∙ (20時間 14分)

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

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

受講レビュー

全体

52件

5.0

52件の受講レビュー

  • ko56420270499님의 프로필 이미지
    ko56420270499

    受講レビュー 1

    平均評価 5.0

    5

    95% 受講後に作成

    一つ一つ深くある原理を教えてくださったおかげで、もう一度世界は魔法のように戻るのではないことに気づきました。 内容を慎重に理解しようとすると、頑強まで時間が少しかかりましたが、それだけ得ていくことも多く、とても満足でした。ありがとうございます。

    • nullnull8537
      知識共有者

      わあ~! 厳しい評価ありがとうございます。開発者はその魔法を実現する使命を負った人だと言えるのではないでしょうか。素晴らしい意見ありがとうございます。:)

  • heemanglee님의 프로필 이미지
    heemanglee

    受講レビュー 3

    平均評価 5.0

    5

    36% 受講後に作成

    本を使ってJavaを学ぶか、学部レベルでJavaを学びました。 自分で振り返る過程で「Javaの使い方」だけを身につけたのですが、動作原理は知らずに使っていましたね。 講義を聞いてみると、既に知っている内容もありますが、その中で曖昧に知っていた内容とか、単にJavaの使い方だけを教える講義では聞けない様々な話が含まれていてとても良かったです。 フンが話とか、パック幅(?)してくれる内容が隠れて面白くてよく聞いています。講義資料もありますが、それよりリアルタイムでペンで説明していただき理解が上がります! 昨日のライブでpart3が12月末に出てくるかもしれないと言われましたが、待っています! 良い講義ありがとうございます。

    • nullnull8537
      知識共有者

      幸いにも講義スタイルが当たったようですね。多分不便だったかもしれませんが、冗談でよろしくお願いします。原論を理解すれば、結果的な文法が当然のような理解のレベルを経験することができますよね。ぜひそういうことを心から願って応援します。 Part 3もよく準備して公開します。ありがとうございます。 :)

  • dengo님의 프로필 이미지
    dengo

    受講レビュー 13

    平均評価 4.5

    5

    29% 受講後に作成

    やっぱりです。 特にJVMは新世界です。 良い講義を作ってくれてありがとう。 後ほど頑強でpart3楽しみにしています!

    • daalzzwi님의 프로필 이미지
      daalzzwi

      受講レビュー 2

      平均評価 5.0

      5

      13% 受講後に作成

      少し難しくなりましたが、いいですね! Java第1弾講義"悩んでいます"セクションに投稿しましたが、確認してください!

      • nullnull8537
        知識共有者

        新しい講義をオープンすると、どうやら最初の受講評を震わせる気持ちで期待されるようになります。幸いなことに良い評価をいただきありがとうございます。 :)

    • weegoto1038님의 프로필 이미지
      weegoto1038

      受講レビュー 4

      平均評価 5.0

      修正済み

      5

      100% 受講後に作成

      初めて学校でJavaに触れた時は、何も分からないまま実時間チャットプログラムを作っていた記憶があります。 その時はコード一行一行がなぜそのように動くのかも分からず、ただ動けば幸いだと思っていたのですが 今回の授業を聞きながらその時を振り返ってみると、どれほど試行錯誤の中で学んでいたのか改めて感じました。 その時の私にこの授業を聞かせてあげることができたらどれほど良かっただろうと思います。講義本当に面白く聞きましたし、初めて学ぶもののようにむしろ新鮮に感じられもしました。パート3に進む前に、もう一度振り返りながら復習してみます🫡

      • nullnull8537
        知識共有者

        まだ時間は確実にあります。今このように完走されるほどの情熱があるなら、きっと自分の足りない部分を素早く補っていかれることでしょう。試行錯誤は今の私も経験しています。もしかすると私たちは人生の終わりまで行っても試行錯誤から離れることができないかもしれませんね。しかし、このように一生懸命努力することだけでも十分ではないかと思います。今のように続けていかれれば、きっと良い結果もついてくることでしょう。私が応援いたします。ありがとうございます。:)

    ¥8,152

    nullnull8537の他の講座

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

    似ている講座

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