CodeGym
キャンペーン
学習
コース
課題
アンケート & クイズ
ゲーム
ヘルプ
スケジュール
コミュニティ
ユーザー
フォーラム
チャット
記事
成功事例
アクティビティ
レビュー
サブスクリプション
ライトテーマ

レッスン

  • レビュー
  • 私たちについて
開始
学習開始
今すぐ学習を始める
  • 学習の進捗
  • コース
  • クエストマップ
  • レッスン
  • 継承の概念、extends の構文

    JAVA 25 SELF
    レベル 17,レッスン 0
    この講義では、Java における継承とは何か、継承を使ってコードの重複を避ける方法、そしてキーワード extends で階層を宣言するやり方を説明します。サブクラスが何を継承するのか、どんな制約があるのか(単一継承、private メンバー、コンストラクタ)、動物を題材にした実例、コンストラクタの扱いのニュアンスや典型的なミスも取り上げます。
    利用可能
  • メソッドのオーバーライド(override)、アノテーション @Override

    JAVA 25 SELF
    レベル 17,レッスン 1
    この講義では、Java におけるメソッドのオーバーライドを解説します。サブクラスが親クラスの振る舞いをどのように・なぜ置き換えるのか、アノテーション @Override の利点、基底型の参照経由での呼び出し時にポリモーフィズムがどのように働くか、そして主要なルール(シグネチャ、アクセス修飾子、例外、共変戻り値)と制約( static、 final、 private)を扱います。最後にミニプロジェクト「動物園」での実践と、典型的なミスの解説で締めくくります。
    利用可能
  • super の使い方:基底クラスのコンストラクタとメソッドの呼び出し

    JAVA 25 SELF
    レベル 17,レッスン 2
    Java のキーワード super を解説します。基底クラスのメソッドやコンストラクタの呼び出し方、親の隠されたフィールドへのアクセス方法、いつ・なぜ super や super(...) で振る舞いを拡張するのか、さらに制約(静的メソッドでは使えない、 private にはアクセスできない)と典型的なミスについて。 Animal/ Cat/ Dog や Vehicle/ Car の階層を使った実践的な例が多数あります。
    利用可能
  • クラス階層の設計と作成、実例

    JAVA 25 SELF
    レベル 17,レッスン 3
    Java でクラス階層を設計し実装する方法を学びます。共通と固有をどう切り分け、継承ツリーをどう構築し、どこで is-a 関係が適切で、いつコンポジション( has-a)を使うべきかを説明します。実例(動物、幾何、交通、ユーザー)を取り上げ、アーキテクチャ上のコツや設計時のよくあるミスも解説します。
    利用可能
  • 継承の課題と制約

    JAVA 25 SELF
    レベル 17,レッスン 4
    本講義では、Java の継承モデルの限界について取り上げます。クラスの単一継承、コンストラクタが継承されないこと、 private メンバに直接アクセスできないこと。脆い階層と「壊れる」継承の影響を解説し、代替手段としてコンポジション( has-a)、委譲、インターフェースを示し、さらに「いつ本当に extends を使うべきか」の基準についても述べます。あわせて、 super(...) による親コンストラクタ呼び出しや、設計でよくあるミスも指摘します。
    利用可能
  • ポリモーフィズムの概念とその必要性

    JAVA 25 SELF
    レベル 18,レッスン 0
    この講義では Java におけるポリモーフィズムを解説します。何であるか、 overloading と overriding の違い、遅延バインディングがどのように機能するか、そして1つのインターフェースに多数の実装が存在し得る理由を扱います。実用的な例を通じて、ポリモーフィズムがアーキテクチャを簡素化し、コードを拡張可能にし、モジュール間の結合度を下げることを確認します。
    利用可能
  • メソッドのオーバーロード (overloading)

    JAVA 25 SELF
    レベル 18,レッスン 1
    Java におけるメソッドのオーバーロードを深掘りします。いつ同じメソッド名で複数のバージョンを宣言するのが有益か、コンパイラが引数に基づいて最適な候補をどのように選ぶか、戻り値の型だけではオーバーロードできない理由、さらにオーバーロードされたコンストラクタや ... varargs の動作を解説します。 println の例を確認し、簡単な Calculator を作成し、オートボクシングや Integer/ Long 間の曖昧さに関連する典型的なミスも取り上げます。
    利用可能
  • メソッドのオーバーライド (overriding): オーバーロードとの違い

    JAVA 25 SELF
    レベル 18,レッスン 2
    本講義では Java におけるメソッドのオーバーライドを詳しく解説します: overriding が実行時のポリモーフィズムをどのように実現するか、 overloading との違い、適用されるルール(シグネチャ、アクセス、例外、共変性)、 @Override の使い方や super で親のロジックを呼び出す方法を説明します。実用的な例を示し、典型的なミスも取り上げます。
    利用可能
  • 実践で使うポリモーフィズム

    JAVA 25 SELF
    レベル 18,レッスン 3
    生きた例でポリモーフィズムを示します。基底型の1つのコレクションに異なる種類のオブジェクトを格納し、 if/ switch なしで「適切な」メソッドを呼び出す方法、新しいサブクラスを追加してもロジックを書き換える必要がないこと、このアプローチの制約について解説します。従業員の階層を work() メソッドで構築し、拡張性について語り、典型的なミスを取り上げます。
    利用可能
  • ポリモーフィズムと抽象クラスの関係

    JAVA 25 SELF
    レベル 18,レッスン 4
    抽象クラスと抽象メソッドがどのように共通の契約を定め、Javaでポリモーフィズムを有効にするか。なぜ抽象オブジェクトは生成できないのか、サブクラスが必須メソッドをどう実装するのか、基底型で扱いながらも「正しい」振る舞いを得る方法。動物や社員の階層の例、構文上のニュアンス、よくあるミスも取り上げます。
    利用可能
  • OOP における抽象化:なぜ必要か、どう使うか

    JAVA 25 SELF
    レベル 19,レッスン 0
    Java における OOP の抽象化をわかりやすく紹介します。抽象化とは何か、なぜ必要か、設計でどう使うかを説明します。言語の道具 — 抽象クラス abstract class とインターフェース interface、抽象メソッド、そして共通の契約を介した利用(例えば payment.process() や draw() の呼び出し)を扱います。実用的な例( Shape、 Payment、Transport)を通じて、実装の詳細を隠し、結合度を下げ、システム拡張を容易にする方法を示します。
    利用可能
  • 抽象クラスとメソッド:構文と例

    JAVA 25 SELF
    レベル 19,レッスン 1
    この講義では、Java の抽象クラスとメソッドを段階的に解説します。いつ abstract が必要か、抽象的な class の宣言方法、 interface との違い、そして継承先で必須メソッド(たとえば makeSound())を実装する方法を扱います。理論はわかりやすい例( Animal、 Transport、 Shape)で補足し、よくあるミスも解説します。抽象クラスのインスタンス生成の試みから修飾子の誤用までを取り上げます。
    利用可能
  • 1
  • ...
  • 8
  • 9
  • 10
  • 11
  • 12
  • ...
  • 30
学ぶ
  • 登録
  • Javaコース
  • 課題のサポート
  • 料金
  • ゲームプロジェクト
  • Java構文
コミュニティ
  • ユーザー
  • 記事
  • フォーラム
  • チャット
  • 成功事例
  • アクティビティ
  • アフィリエイトプログラム
会社情報
  • 私たちについて
  • 連絡先
  • レビュー
  • プレスルーム
  • CodeGym for EDU
  • よくある質問
  • サポート
CodeGymCodeGym は、ゼロからJavaプログラミングを学ぶためのオンラインコースです。このコースは初心者がJavaを習得するのに最適です。即時検証付きの1200以上の課題と、Java基礎理論の必要な範囲を含みます。学習の成功を支援するために、クイズ、コーディングプロジェクト、効率的な学習に関するコンテンツ、Java開発者のキャリアに関する機能など、一連のモチベーション機能を導入しています。
フォローする
インターフェース言語
English Deutsch Español हिन्दी Français Português Polski বাংলা 简体中文 मराठी தமிழ் Italiano Bahasa Indonesia 繁體中文 Nederlands
日本語
한국어 Bulgarian Danish Hungarian Basa Jawa Malay Norwegian Romanian Swedish Telugu Thai Українська Filipino Turkish Azərbaycan Русский Vietnamese
「プログラマーは生まれるのではなく、育てられる」 © 2026 CodeGym
MastercardVisa
「プログラマーは生まれるのではなく、育てられる」 © 2026 CodeGym