2026.07.31Java基礎 #11|コンストラクタTECH BLOG

Java基礎 #11|コンストラクタとは?オブジェクト生成時の初期化を理解しよう

この記事でわかること

  • コンストラクタとは何か
  • なぜコンストラクタが必要なのか
  • 引数付きコンストラクタ
  • newとの関係

前回のおさらい

前回は、クラスとオブジェクトについて学習しました。

オブジェクトは new を使って作成しました。

Car car = new Car();

実は、この new を実行したとき、自動的に呼び出される特別なメソッドがあります。

それが コンストラクタ です。


コンストラクタとは?

コンストラクタとは、オブジェクトが作成されたときに最初に実行される特別なメソッドです。

主に、オブジェクトの初期設定を行うために使用します。


コンストラクタを書いてみよう

Carクラス

public class Car {

    public Car() {
        System.out.println("車を作成しました。");
    }

}

Mainクラス

public class Main {

    public static void main(String[] args) {

        Car car = new Car();

    }

}

実行結果

車を作成しました。

new Car() を実行すると、コンストラクタが自動的に呼び出されます。


なぜコンストラクタが必要なの?

例えば、車には色やメーカーなどの情報があります。

オブジェクトを作ったあとに1つずつ設定することもできますが、毎回書くのは大変です。

Car car = new Car();

car.color = "赤";
car.maker = "メーカーA";

そこで、コンストラクタを利用すると、オブジェクトを作ると同時に初期値を設定できます。


引数付きコンストラクタ

Carクラス

public class Car {

    String color;

	// コンストラクタ
    public Car(String color) {
        this.color = color;
    }

}

Mainクラス

public class Main {

    public static void main(String[] args) {

        Car car = new Car("赤");

    }

}

オブジェクトを作成すると同時に色を設定できます。


thisとは?

次のコードを見てみましょう。

this.color = color;

左側の this.color はクラスのフィールドです。

右側の color はコンストラクタへ渡された引数です。

this は、「このオブジェクト自身」を表すキーワードです。


コンストラクタとメソッドの違い

  • コンストラクタ・・・オブジェクト作成時に自動で呼ばれる
  • メソッド・・・必要なタイミングで自分で呼び出す

どちらも処理をまとめるものですが、呼ばれるタイミングが異なります。


よくあるミス

① メソッドのように戻り値を書く

public void Car() {

}

コンストラクタには戻り値を書きません。

② クラス名とコンストラクタ名が違う

public CarData() {

}

コンストラクタ名はクラス名と同じである必要があります。

③ newを書き忘れる

Car car;

オブジェクトは作成されません。


まとめ

  • コンストラクタはオブジェクト生成時に自動で呼ばれる
  • 初期値の設定によく利用される
  • newとセットで利用する
  • thisは自分自身のオブジェクトを表す

次回は、カプセル化について解説します。