シングルトン 【singleton】 シングルトンパターン / singleton pattern / シングルトンオブジェクト / singleton object
クラスはオブジェクトの雛形であり、何の制約もなければプログラム上で同一のクラスから複数のインスタンスを生成して、それぞれ別の(固有の内部状態を持つ)オブジェクトとして使用することができる。
シングルトンパターンで実装されたクラスは、その仕様として実行時に一つしかインスタンスを作ることができないように設計され、プログラム上では常に同一のインスタンスを参照するように強制することができる。
具体的な実装方法は言語によって異なり、複数の異なる方法で実現できる場合もある。一般的な方針としては、コンストラクタをプライベートメソッドにして外部から呼び出せないようにし、クラス変数(静的変数)として自身のインスタンスを格納する変数を定義、外部からこれを取得するパブリックメソッドを用意(getInstanceメソッド)する。
(2020.9.22更新)