Java

2024.04.30 JAVA 유용한 클래스 디자인 패턴 싱글톤 패턴

정훈5 2024. 4. 30. 09:08

시스템 에러 (JVM)

예외 (Exception) - 최상위 클래스

예외 - 컴파일, 런타임

예외 - try -catch -finally

 

Swing

이벤트 리스너

 

싱글톤 패턴

 

package useful.ch04;

/*
 * 디자인 패턴 살펴 보기
 * - 싱글톤 패턴이 뭘까?
 * 
 * 1. 생성자를 private 으로 만든다.
 * 2. static 변수를 활용해서 내부에서 객체를 생성하고 주소값을 할당한다.
 * 3. 외부에서 유일하게 참조할수 있는 public 메서드를 제공한다.
 */
public class Company {

	// 2. static 변수 활용 데이터 타입 선언
	private static Company company;

	// 1. 생성자에 접근제어 지시자를 private 으로 변경하면
	// 외부에서 기본 생성자를 호출 할 수 없다.
	private Company() {

	} // 생성자

	// 3. 외부에서 접근 가능한 메서드를 만들어 준다.
	public static Company getInstance() {

		if (company == null) {
			company = new Company(); // company 객체 생성
		}
		return company;
	}

}

 

package useful.ch04;

public class CompanyTest {

	public static void main(String[] args) {

		// 생성 불가
		// Company company = new Company();

		// 고민! Company 객체를 어떻게 접근할 수 있을까?

		// A 클래스에서 활용
		Company company = Company.getInstance();
		System.out.println(company);

		// B 클래스에서 활용
		Company company2 = Company.getInstance();
		System.out.println(company2);
	} // end of main

} // end of class

 

출력