Singleton Pattern

서재환·2021년 12월 14일
0

JAVA

목록 보기
14/16

싱글톤 패턴이란?

프로그램에서 인스턴스가 단 한 개만 생성되어야 하는 경우 사용하는 디자인 패턴

static 변수, 메서드를 활용하여 아래와 같이 구현 할 수 있습니다.
// Company class code
public class Company {

    private static Company instance = new Company();

    private Company() {

    };

    public static Company getInstance() {
        if (instance==null)
            instance = new Company();
        return instance;
    }
}

// Test Code
public class Test {
    public static void main(String[] args) {
        Company c1 = Company.getInstance();
        Company c2 = Company.getInstance();

        if (c1 == c2) {
            System.out.println("This is singleton Pattern");
        }
    }
}

싱글톤 패턴 만들 시 guideline

1. 기본 생성자를 private으로 설정하였기 때문에 외부에서 해당 클래스의 인스턴스를 
   생성할 수 없다.

2. class에 인스턴스에 접근할 수 없는 static method를 만듦으로써 클래스의 메소드를
   통해 미리 만들어진 인스턴스에 접근할 수 있다. 방어코드로 인스턴스가 없으면 인스턴
   스를 만들어서 반환한다.

3. 결론적으로 new 연산자를 사용할 수 없게 만들었고 static 함수로 한개의 instance만
   을 생성할 수 있도록 static method를 만들었다.

0개의 댓글