オブジェクトの初期化に使う「コンストラクタ(Constructor)」とは?
Javaでオブジェクトを生成するとき、最初に呼び出される特別なメソッドがあります。
それが コンストラクタ(Constructor) です。
オブジェクトの初期設定や準備を行うために使用されます。
コンストラクタとは?
コンストラクタとは、クラスからインスタンスを生成する際に呼び出される特殊なメソッドです。
名前はクラス名と同じで、戻り値(voidなど)を指定しません。
基本構文
class クラス名 {
// コンストラクタ
クラス名() {
// 初期化処理
}
}
例:引数なしのコンストラクタ
public class Person {
String name;
// コンストラクタ
public Person() {
name = "未設定";
}
}
例:引数ありのコンストラクタ
public class Person {
String name;
int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
}
オブジェクトを作ると同時に、値を設定することができます。
コンストラクタの使い方
Person p1 = new Person(); // 引数なしコンストラクタを呼び出し
Person p2 = new Person("Taro", 20); // 引数ありコンストラクタを呼び出し
複数のコンストラクタ(オーバーロード)
Javaでは、引数の違いによって複数のコンストラクタを定義できます。
public class Book {
String title;
int price;
public Book() {
this("無題", 0);
}
public Book(String title, int price) {
this.title = title;
this.price = price;
}
}
thisキーワードで他のコンストラクタを呼び出す
this()
を使うことで、別のコンストラクタを呼び出すことができます(1行目に限る)。
まとめ
コンストラクタ(Constructor)は、オブジェクトを生成したときに自動的に呼ばれる初期化用のメソッドです。
クラス名と同じ名前で定義し、戻り値を持ちません。
オーバーロードやthis()
を使って柔軟に設計することで、使いやすく安全なクラスを作ることができます!