Singleton 패턴

행복한 콩🌳·2023년 2월 20일
0

JAVA

목록 보기
16/26
post-custom-banner
  • 전 시스템에 단 하나의 인스턴스만 존재하도록 구현
  • ex) TimeZone
  • static 키워드를 사용
[CompanyTest.java]
package singletonTest;

public class CompanyTest {
    public static void main(String[] args) {

        Company c1 = Company.getInstance();
        Company c2 = Company.getInstance();

        // error
        // 싱글톤으로 구현되지 않음
        //Company c3 = new Company();

        System.out.println(c1);
        System.out.println(c2);

    }
}
[Company.java]
package singletonTest;

public class Company {
	// default 생성자를 내가 생성하여 여러 개의 인스턴스를 생성할 수 없도록 static으로 선언
    // 외부에서 Company 생성 불가!
    private static Company instance = new Company();

    private Company(){}

    // 위에서 생성한 instance는 private으로 생성됨 객체를 외부에서 사용하도록 public한 메소드를 하나 생성해줌
    // 객체를 생성하지 않고 메소드를 가져다 쓰기 위해서 static으로 생성
    public static Company getInstance(){
        if(instance == null){
            instance = new Company();
        }
        return instance;
    }
}

profile
매일매일 조금씩 모여 숲이 되자🐣
post-custom-banner

0개의 댓글