タイトル: staticクラスとシングルトンの違い
SEOタイトル: staticクラスとシングルトンの違い
static クラスとシングルトンは、どちらも「共有的に使う」印象がありますが、扱い方はかなり違います。
一番大きい差は、シングルトンはオブジェクトとして扱えるのに対し、static はクラスに直接ぶら下がる点です。
主な違い
- シングルトンはインスタンスを返す
- static はインスタンス化せずに呼ぶ
- シングルトンはインターフェースや差し替えを考えやすい
シングルトンの利点
- メソッド引数として渡せる
- モック化しやすい
- 依存注入の文脈に乗せやすい
使い分けの目安
単純なユーティリティなら static、将来的に差し替えやテストを意識するならシングルトンや通常のインスタンス設計を検討します。