Javaデザインパターン – シングルトン(Singleton)パターン




デザインパターンの中で、個人的には一番メジャーな気がする、「シングルトンパターン」をやってみます。

シングルトンパターンってなに?

1つのアプリケーション内に、1つしかインスタンスを持たないクラスを言います。
データを共有したかったり、処理の同期を取りたかったりするときに使用します。

シングルトンパターンのサンプル

さっそくですが、シングルトンパターン基本形のサンプルです。
シングルトンパターンのクラスから、インスタンスを2つ取得。
いずれか一方を改変すると、他方でも改変されます。
これにより、シングルトンパターンのクラスから取得したインスタンスは、同一であることが確認できます。

実行結果

マルチスレッドへの対応

上記の基本形はスレッドセーフではなく、複数のスレッドで動作すると思った通りに動作しない可能性があります。
マルチスレッドを考慮して、以下のように書き換えます。