質問: コンストラクタの目的について コンストラクタはクラスのオブジェクオを作成して初期化するメソッドだと習いました。 しかし、コンストラクタを明示的に宣言せず、デフォルトのままにするときもあります。
回答: 文法的にコンストラクタが許可されていないと クラス値(インスタンス)に共通に最初に呼び 出すことが必要なメソッドがある場合 (それは多くの場合初期化メソッドです) それを呼び出すのを忘れがちになります。 プログラムのいわゆるバグの原因のかなりの 割合がこの初期化忘れによるものだといわれて います。 コンストラクタが許可されているので、 コンストラクタにそのクラスインスタンス使用 時に必要な共通初期処理を記述すると うっかりミスによる初期処理忘れを防止する ことができるでしょう。これはnew文の使用 がインスタンス使用では必須でありそれ以外 に用意されていないこととコンストラクタの 明示的指定がnew文使用の前提になっている ことによるものです。 ただしコンストラクタは、メソッドの中から 呼び出すことができないなど制限もあります。 乱用(不適切な使用を含む)はプログラムを難 しくさせる原因になりかねないのでそれほど 不便でもありません。 ただ上記制限がある以上、薬効成分もあり ますが副作用もあるのでしょう。正しい使い方は 平易とはいえないと思います。 ある程度慣熟してから使うようにしたほうが 良いものかも知れません。