【Java入門】初心者向け!オブジェクト指向をわかりやすく解説

プログラミングを学習中の方なら、「オブジェクト指向」という言葉を耳にしたことがあるかもしれません。

「なんだか難しそう…」

と感じる方もいるのではないでしょうか?

安心してください!
この記事では、オブジェクト指向の基礎を、初心者の方にも理解しやすいように、Javaのコード例を交えながら解説します。

現実世界とプログラムの共通点

突然ですが、あなたの周りにある「モノ」に注目してみてください。

例えば、「犬」はどうでしょう?

犬はそれぞれ、

  • 名前
  • 年齢
  • 犬種

といった情報を持っていますよね?

そして、「吠える」「走る」「寝る」といった行動もできます。

実は、プログラムの世界でも、現実世界のモノとその特徴を同じように表現することができます。
それが、オブジェクト指向という考え方なのです。

オブジェクト指向の3つの柱

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

  • モノ: オブジェクト
  • 情報: 属性
  • 行動: メソッド

という3つの要素を使ってプログラムを組み立てていきます。

オブジェクトは、現実世界の「モノ」をプログラム上で表現したものです。
例えば、「ポチ」という名前の犬は、「犬オブジェクト」として表現できます。

属性は、オブジェクトが持つ「情報」のことです。
先ほどの犬の例で言えば、「名前」「年齢」「犬種」などが属性にあたります。

メソッドは、オブジェクトが実行できる「行動」のことです。
犬オブジェクトであれば、「吠える」「走る」「寝る」といった行動をメソッドとして定義します。

Javaコードで見てみよう!

例えば、「車」をオブジェクト指向で表現すると、以下のJavaコードのようになります。

class 車 {
    // 属性: 車が持つ情報
    String 色;
    String メーカー;
    int 速度;

    // メソッド: 車ができる行動
    void 発進する() {
        System.out.println("車が発進しました");
        this.速度 = 10; // 速度を10km/hに変更
    }

    void 加速する(int 加速する速度) {
        this.速度 += 加速する速度; // 現在の速度に加算
        System.out.println("車が加速しました。現在の速度は" + this.速度 + "km/hです");
    }

    void ブレーキ() {
        this.速度 = 0;
        System.out.println("車が停止しました");
    }
}

このコードでは、「車」というオブジェクトを定義し、「色」「メーカー」「速度」といった属性と、「発進する」「加速する」「ブレーキ」といったメソッドを持たせています。

このように、オブジェクト指向を使えば、現実世界と同じようにプログラムを捉えることができるため、コードが整理され、理解しやすくなるのです。
また、プログラムの一部を変更する場合でも、その「モノ」だけに注目すれば良いので、修正や機能追加も容易になります。

まとめ

オブジェクト指向は、プログラムをより分かりやすく、修正や機能追加をしやすいものにするための強力な考え方です。
Javaを学ぶ上で、オブジェクト指向を理解することは非常に重要です。

まずは、オブジェクト、属性、メソッドという3つの要素を理解し、簡単なプログラムを作ってみるところから始めてみましょう!