4JOHMFUPOύλʔϯΛ༻͍ΔϝϦοτٴͼσϝϦοτ
• クロスプラットフォーム
• RMIなどを⽤いて,他のJVMに共有できる.
• あらゆるクラスに適応可能
• コントラスタをprivateにして共有インスタンスを返すメソッドを⽣
やせば良い
• 派⽣を使って⽣成することも可能
• ⾃分を返すのではなくて,⼦クラスを返せる.
• 評価が簡単
• Singletonが使わなければインスタンスは決して⽣成されない.
• オブジェクトの破壊が定義されていない
• シングルトンへの参照を持ったあるクラスがそのシングルトンを破
壊すると,別のクラスがそのシングルトンに参照しようとすると別
のシングルトンインスタンスが⽣成されてしまう.
• シングルトンを破壊するいい⽅法がない.
• 継承できない
• 単純に継承しただけでは派⽣クラスはシングルトンになってくれな
い.
• 効率性
• インスタンスを⽣成するたび(以降,これをinstance()と呼ぶ)にIf
⽂が実⾏されるが,それが役⽴つのは最初の⼀回だけ.
• 分かりづらい
• Instance()を介することを知っていなければならない.
6
メリット デメリット