メソッドとコンストラクタはJavaにおいて重要な要素ですが、それぞれ異なる目的と機能を持っています。以下に主な違いをまとめます:
コンストラクタ
- 目的: コンストラクタはクラスの新しいインスタンス(オブジェクト)が作成される際に自動的に呼び出される特殊なメソッドです。オブジェクトの初期化(フィールドの初期値の設定など)を行うために使用されます。
- 名前: コンストラクタの名前はクラスの名前と常に同じであり、戻り値の型を指定しません。
- 戻り値: コンストラクタは戻り値を持ちません。そのため、戻り型を宣言しません。
-
呼び出し時期: コンストラクタは
new
キーワードを使用してクラスのインスタンスを作成する際にのみ呼び出されます。
メソッド
- 目的: メソッドはクラス内で定義される手続きであり、オブジェクトの振る舞いや操作を実行するために使用されます。一定のタスクを実行し、オプションで結果を返すことができます。
- 名前: メソッドは任意の名前を持つことができ、クラス名とは関連しません。
- 戻り値: メソッドは戻り値を持つことができます。戻り値の型はメソッドの定義において指定されます。
- 呼び出し時期: メソッドはクラスのインスタンスまたはクラス自体(staticメソッドの場合)に対して明示的に呼び出される必要があります。
実例
public class Car {
private String model;
private int year;
// コンストラクタ
public Car(String model, int year) {
this.model = model;
this.year = year;
}
// メソッド
public void displayInfo() {
System.out.println("Model: " + this.model + ", Year: " + this.year);
}
}
public class TestCar {
public static void main(String[] args) {
Car myCar = new Car("Toyota", 2021); // コンストラクタが呼び出される
myCar.displayInfo(); // メソッドが呼び出される
}
}
この例では、Car
クラスにはCar
という名前のコンストラクタとdisplayInfo
という名前のメソッドがあります。コンストラクタはオブジェクトが作成される際に自動的に呼び出され、メソッドはプログラマによって明示的に呼び出されます。
これらの違いを理解することで、Javaのオブジェクト指向プログラミングの基本的な概念をより深く把握することができます。
Top comments (0)