【Java入門 15】クラスとオブジェクト

2022/03/30に公開約2,700字

1. クラス

  • データと処理をまとめたもの。
  • クラス内には、フィールド(メンバ変数)とメソッドを記述できる。
class クラス名 {
    ...
}

フィールド

  • クラスの中でデータの値を保管するために使用する。
  • 初期値を代入することも可能。
class クラス名 {
    データ型 フィールド名;
}

メソッド

  • クラスの中で特定の処理を行うために必要なプログラムをまとめたもの。
class クラス名 {
    戻り値の型 メソッド名() {
        ...
    }
}

戻り値

  • メソッド内の処理を実行した結果(戻り値)を呼び出し元に返すことができる。
  • 戻り値のあるメソッドの場合は、メソッド宣言時にデータの型を指定する。戻り値がない場合は、型の部分にvoidと記述する。
  • 戻り値はreturnを使って返す。

戻り値なしの場合

void hello() {
    System.out.println("Hello");
}

戻り値ありの場合

String hello() {
    return "Hello";
}

引数

  • メソッド内の処理で使用する値を呼び出し元から受け取ることができる。
  • 引数を受け取る場合は、( ) の中に、データ型 仮引数名を記述する。
  • 引数は、,(カンマ)で区切って記述することで、複数受け取ることが可能。
int calc(int a, int b) {
    return a + b;
}

2. オブジェクト

  • 「もの」や「物体」のこと。オブジェクト指向の考え方における「もの」とは個別の実体を指す。
  • Javaでは、クラスを「もの」を作るための設計図に例えられる。その設計図をもとに作った「もの」がオブジェクトである。

3. オブジェクトの生成

  • クラスからオブジェクトを生成するにはnewを使う。
クラス名 変数名 = new クラス名();
  • オブジェクトのフィールドを参照するには、生成したときにつけた変数名を使う。
変数名.フィールド名
  • オブジェクトのメソッドの処理を実行する際も、生成したときにつけた変数名を使う。
変数名.メソッド名()

4. サンプルプログラム

Car.java

Car
class Car {
    String maker;
    int displacement;
    String color;

    void start() {
        System.out.println("発信する");
    }
    void stop() {
        System.out.println("止まる");
    }
    void curve() {
        System.out.println("曲がる");
    }
}

UseCar.java

UseCar
class useCar {
    public static void main(String[] args) {
        Car c1 = new Car();

        c1.maker = "HONDA";
        c1.displacement = 2000;
        c1.color = "青";

        System.out.println("メーカー: " + c1.maker);
        System.out.println("排気量: " + c1.displacement);
        System.out.println("色: " + c1.color);
        System.out.println();

        c1.start();
        c1.curve();
        c1.stop();
    }
}

実行結果

メーカー: HONDA
排気量: 2000
色: 青

発信する
曲がる
止まる

1つのクラスから違う状態を持った複数のオブジェクトを生成することもできる。

UseCar.java

UseCar
class useCar {
    public static void main(String[] args) {
        Car c1 = new Car();

        c1.maker = "HONDA";
        c1.displacement = 2000;
        c1.color = "青";

        System.out.println("1台目のメーカー: " + c1.maker);
        System.out.println("1台目の排気量: " + c1.displacement);
        System.out.println("1台目の色: " + c1.color);
        System.out.println();

        Car c2 = new Car();

        c2.maker = "TOYOTA";
        c2.displacement = 3000;
        c2.color = "赤";

        System.out.println("2台目のメーカー: " + c2.maker);
        System.out.println("2台目の排気量: " + c2.displacement);
        System.out.println("2台目の色: " + c2.color);
    }
}

実行結果

1台目のメーカー: HONDA
1台目の排気量: 2000
1台目の色: 青

2台目のメーカー: TOYOTA
2台目の排気量: 3000
2台目の色: 赤

Discussion

ログインするとコメントできます