JAVA

Singleton 패턴으로 작성하기 예제

데이25 2020. 8. 19. 16:18

객체를 여러개 만들 필요가 없을 때 만드는 방법이다.

자바에서는 class 외부에는 인스턴스 정의를 할 수가 없는데, 이때 싱글톤 패턴을 이용해 작성한다. 

 

예시로 company 클래스와 외부 클래스인 companyTest 클래스를 살펴보면 다음과 같다. 

 

//1 Company

public class Company {
	
	private static Company instance = new Company();
    
	//constructure 하나 하고 private으로 만든다. 
    
	private Company(){} 
	
	//외부에서 사용할땐 이걸로 만들어 쓴다. 
	// static 으로 생성해야 외부에서 쓸 수 있다. 
	public static Company getInstance() {
		if(instance == null) instance = new Company();

		return instance;
	}
}

 

//2 CompayTest

public class CompanyTest {
	// 두개 만들때 new 안써도 됨. 
	Company c1 = Company.getInstance();
	Company c2 = Company.getInstance();

	// 두개의 주소 값 찍어보면 같은 값이 나온다. 
	

	// 이렇게 하면 에러가 난다. 
	Company c3 = new Company(); 
}

 

출처 : Do it! 자바 프로그래밍 예시참고했습니다.