13
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

【Java】シングルトン・クラス(Singleton Class)について

Last updated at Posted at 2018-05-29

こんにちは^^
都内のIT企業で働いているグエンです。
初めての投稿なんですので、少しドキドキですね。^^
Java SE8 Goldを勉強するにあたって、覚えなければならいものをここでメモします。
早速ですが、シングルトン・クラスについてメモをしたいと思います。

シングルトンとは

シングルトンとは、あるクラスのインスタンスが2つ以上生成されないことを保証するデザイン・パターンの1つです。

ですので、シングルトンは一般に以下に挙げるような指針に従って実装します。

  1. private staticフィールドを宣言し、自身の単一のインスタンスを生成して、そのフィールドにセットしする。
    ⇒動機:インスタンスを1つだけ生成し、常にその1つのインスタンスのみを参照するようにする。
  2. コンストラクタをprivateで宣言する。
    ⇒動機:外部からインスタンスを生成できないようにする(クラス内部でのみインスタンス生成可能)
  3. 自身のフィールドにセットされているインスタンスを返すpublic staticメソッドを提供する。
    ⇒動機:外部からこのクラスのインスタンス参照を取得できるようにする。

シングルトン・クラスの実装例:

Foo.java
public class Foo {
    private static final Foo foo = new Foo();
    private Foo();
    public static Foo getInstance() {
        return foo;
    }
}

外部からシングルトン・クラスのインスタンスを取得する。

Foo foo = Foo.getInstance();

最後に

皆さん、いかがでしょうか?
少しでもシングルトン・クラスについて理解していただければ嬉しいです。^^
では、また次回の投稿で会いましょう!
バイバイ!

13
3
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?