자바 싱글톤(Singleton)
package singletonexam;
// 싱글톤 클래스로 생성하기
// 싱글톤 - 객체를 단 하나만 만들 수 있도록 보장하는 것, 단 하나만 생성하는 것
public class CompanySingleton { //클래스명,
//정적 필드 - 외부에서 부르지 못하게 만들기
// private static 클래스명 참조변수명 = new 클래스명();
//접근제어자 참조타입 참조변수 = 객체
private static CompanySingleton companySingletonInstance = new CompanySingleton();
//생성자
// private 클래명() { }
private CompanySingleton() {}
//정적 메소드 - 외부에서 호출해서 사용할 수 있도록 getter메소드 만들기
// public static 리턴타입 메소드명() {}
public static CompanySingleton getCompanySingletonInstance() {
return companySingletonInstance; //객체의 주소를 가지고 있음
}
}
--------------------
package singletonexam;
import objectexam01.Car;
public class CompanySingletonExam {
public static void main(String[] args) {
//싱글톤이라 객체가 하나만 존재
CompanySingleton obj1 = CompanySingleton.getCompanySingletonInstance();
CompanySingleton obj2 = CompanySingleton.getCompanySingletonInstance();
System.out.println(obj1);
System.out.println(obj2);
[ 출력시 주소가 obj1 , obj2 모두 주소가 같은 걸 확인 할 수 있음 ]
//일반클래스는 객체가 따로 만들어짐
Car myCar = new Car();
objectexam02.Car yourCar = new objectexam02.Car();
System.out.println("-----------------------");
System.out.println(myCar);
System.out.println(yourCar);
}
}