パターンを紹介します。一枚札とはトランプの一組に唯一のカードです。パターンとは、このような唯一の存在を保証するためのパターンです。あるクラスのインスタンスが一つしかないことを保証したい場合があります。注意深く設計すれば、唯一のインスタンスを使いまわすことは可能でしょうが、このインスタンスが唯一であることを保障するものとはなりません。することで、他クラスから新たにインスタンスが生成されないような構造とすることで、インスタンスの生成を制御します。サンプルケースを考えて見ましょう。サンプルケースサンプルケースでは、図書館の貸出帳を考えて見ます。図書の貸出に当たって、その貸出帳がいくつあるのかわからないような状態では、、管理がとても難しくなります。「ゼロからはじめるJava」は貸し出し中ですか?と質問されたとき、貸出帳が何冊あるのか分からなければ、「この貸出帳によると、現在図書館にあるはずですが、貸出帳は他にもあるかもしれないし・・・」なんてことになりかねません。こんなとき「貸出帳はこの1冊のみ」と保証されていれば、本が貸し出し中であるのか、図書館にあるのかすぐに判断できます。パターンはたった一つのクラスで構成されます。クラスをソースコードにしてみましょう。インスタンスを外部から生成することができません。RegisterNote.getInstance();として取得せざるを得ないようになっています。クラス図を見てみましょう。クラスが初期化されるときに生成されます。メソッドが呼び出されたタイミングなどに行われます。クラスのインスタンスが生成されることになります。オブジェクトが返されることになります。うまくできていますね。クラスからしかアクセスできません。生成される時のみです。インスタンスを得るためには、getInstanceメソッドを利用する他ありません。Textを触ってみた。