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

Java Java
スポンサーリンク

練習問題:Javaのクラス・メソッド・フィールド

Javaの「クラス・メソッド・フィールド」を理解するための練習問題をいくつか作ってみました。基礎から少し応用まで段階的に用意します。

問題1:クラスとフィールドの定義

次の仕様を満たすクラス Car を作成してください。

  • フィールド
    • String brand(車のブランド名)
    • int speed(現在の速度)
  • メソッド
    • void accelerate(int value) : speed を value だけ増加させる
    • void brake(int value) : speed を value だけ減少させる(ただし speed が 0 未満にならないようにする)

問題2:メソッドの呼び出し

上で作成した Car クラスを使って、次の処理を行う Main クラスを作成してください。

  1. brand が "Toyota"Car オブジェクトを生成する
  2. accelerate(50) を呼び出す
  3. brake(20) を呼び出す
  4. 最終的な speed を出力する

問題3:フィールドの初期化とコンストラクタ

Car クラスにコンストラクタを追加してください。

  • 引数として brand を受け取り、フィールドに代入する
  • speed は初期値 0 に設定する

回答例と解説

回答1:Car クラスの定義

public class Car {
    String brand;   // フィールド(インスタンス変数)
    int speed;      // フィールド(インスタンス変数)

    // 加速メソッド
    void accelerate(int value) {
        speed += value;
    }

    // 減速メソッド
    void brake(int value) {
        speed -= value;
        if (speed < 0) {
            speed = 0; // マイナスにならないように調整
        }
    }
}
Java

解説

  • フィールドはクラスが持つ「データ(状態)」を表す。
  • メソッドはクラスが持つ「処理(振る舞い)」を表す。
  • speed を直接変更するのではなく、acceleratebrake を通じて操作することで、クラスの一貫性を保てる。

回答2:Main クラスでの利用

public class Main {
    public static void main(String[] args) {
        Car myCar = new Car();   // Car オブジェクト生成
        myCar.brand = "Toyota";  // フィールドに値を代入
        myCar.accelerate(50);    // speed = 50
        myCar.brake(20);         // speed = 30
        System.out.println("最終速度: " + myCar.speed);
    }
}
Java

実行結果

最終速度: 30

解説

  • myCar.brand = "Toyota"; のようにフィールドへ直接代入できる。
  • myCar.accelerate(50); のようにメソッドを呼び出して処理を実行する。

回答3:コンストラクタの追加

public class Car {
    String brand;
    int speed;

    // コンストラクタ
    Car(String brand) {
        this.brand = brand;
        this.speed = 0;
    }

    void accelerate(int value) {
        speed += value;
    }

    void brake(int value) {
        speed -= value;
        if (speed < 0) {
            speed = 0;
        }
    }
}
Java

Main クラスでの利用

public class Main {
    public static void main(String[] args) {
        Car myCar = new Car("Toyota"); // brand をコンストラクタで設定
        myCar.accelerate(50);
        myCar.brake(20);
        System.out.println("最終速度: " + myCar.speed);
    }
}
Java

まとめ

  • クラス = 設計図
  • フィールド = データ(状態)
  • メソッド = 処理(振る舞い)
  • コンストラクタ = オブジェクト生成時の初期化

Java
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました