【Java】staticファクトリーメソッドでオブジェクトを生成する

Javaのstaticファクトリーメソッドのパターンを用いて、
コンストラクタを利用せずにインスタンスを生成する方法をメモ。

下記のコードはコンストラクタがprivateでもstaticなメソッド、valueOfメソッドからインスタンスを生成出来るようにした例である。

コンストラクタがprivateなため、インスタンスを生成して利用する際はgetInstanceメソッドを用いる。
(コンストラクタのようにクラスと同じでなく任意の名前をメソッド名に出来る)

 

 
 
シングルトンパターンを利用したgetInstanceメソッドの例
 

 
シングルトン(Singletone) パターンについて

シングルトンパターンを利用することでインスタンスが唯一の存在であることを保証することが出来る。

システムの中で共通で利用される設定情報など、一意に情報を保持したい場合に用いるパターンである。
 


getInstanceメソッドで返されるインスタンスが同じものかJUnitでテストしてみた。

Follow me!