Java | クラス、メソッド、フィールドとは

Java Java
スポンサーリンク

では「クラス同士が協力する」例として、ロボットと電池クラスを組み合わせてみましょう。これで「オブジェクト同士の関係」が分かりやすくなります。


シナリオ

  • ロボットは動くために電池が必要
  • 電池が切れたらロボットは動けない
  • 電池を交換すればまた動ける

コード例:Robot × Battery

// 電池クラス
class Battery {
    int power;  // 残り電力

    Battery(int power) {
        this.power = power;
    }

    // 電力を1消費する
    boolean use() {
        if (power > 0) {
            power--;
            return true;  // 使えた
        } else {
            return false; // 電池切れ
        }
    }

    void charge(int amount) {
        power += amount;
        System.out.println("電池を充電しました。残り電力: " + power);
    }
}

// ロボットクラス
class Robot {
    String name;
    int position = 0;
    Battery battery;  // 電池を持つ

    Robot(String name, Battery battery) {
        this.name = name;
        this.battery = battery;
    }

    void moveForward() {
        if (battery.use()) {
            position++;
            System.out.println(name + " が1歩進みました。現在位置: " + position);
        } else {
            System.out.println(name + " は電池切れで動けません!");
        }
    }

    void report() {
        System.out.println(name + " の現在位置は " + position + " です。");
    }
}

// 実行クラス
public class Main {
    public static void main(String[] args) {
        Battery bat1 = new Battery(2);   // 電池残量2
        Robot robo = new Robot("タロウ", bat1);

        robo.moveForward(); // → 動ける
        robo.moveForward(); // → 動ける
        robo.moveForward(); // → 電池切れで動けない

        bat1.charge(3);     // 電池を充電
        robo.moveForward(); // → 再び動ける
        robo.report();      // → 現在位置を表示
    }
}
Java

ポイント解説

  • Batteryクラス
    • 電力を管理する役割
    • use() で電力を消費、charge() で充電
  • Robotクラス
    • Batteryを「部品」として持つ(フィールドにBattery型を持つ)
    • 動くときに battery.use() を呼び出して電池を消費
  • Mainクラス
    • 実際にロボットと電池を作って動かす

学びのまとめ

  • クラスは「役割ごと」に分けると分かりやすい
  • ロボットは「動くこと」に集中、電池は「電力管理」に集中
  • こうしてクラスを分けると、再利用性拡張性が高まる
    • 例:電池を「ソーラーバッテリー」に変えるのも簡単
Java
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました