코딩/Java

자바 싱글톤(Singleton)

로밋코딩 2024. 10. 16. 16:59
반응형

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);

}

 

}

반응형