【こんすとらくた】
コンストラクタ とは?
最終更新:
💡 オブジェクト誕生の「開店準備」
クラスのインスタンスを生成するときに使われる初期化の仕組み。引数から初期値を設定するなど、オブジェクトを使うための準備をまとめられる。名前や定義方法は言語によって異なる。
📌 このページのポイント
コンストラクタって何?普通のメソッドと何が違うの?
コンストラクタに引数って渡せるの?
渡せるよ。例えばJavaScriptならnew User("Ken", 30)で名前と年齢を渡し、constructor(name, age)で受け取って初期値を設定できるんだ。
コンストラクタを定義しなかったらどうなるの?
言語によって違うよ。Javaの通常のクラスではコンストラクタを1つも宣言しないと引数なしのものが用意され、親の引数なしコンストラクタを呼ぶ。JavaScriptでも省略できるけど、派生クラスの既定のconstructorは受け取った引数を親へ渡すんだ。単に何もしないとは限らないね。
コンストラクタが複数あることもあるって聞いたけど?
Javaでは引数の数や型を変えたオーバーロードができるよ。一方、JavaScriptのclassにはconstructorを1つだけ定義できる。継承時に親を呼ぶ方法や順序にも言語の規則があるので、使う言語の仕様に合わせるんだ。
📖 おまけ:英語の意味
「constructor」 = 構築するもの・組み立てるもの
💬 constructは「建設する」という動詞。オブジェクトを建設するときの段取り係がコンストラクタだよ