package ch09;
public class Company {
//소속할때 싱글톤패턴같은것들을 만든다.
//1.생성자를 private으로 만든다.
private Company() {
}
//2.static 변수를 활용해서 내부에서 객체를 생성한다.
private static Company instance = new Company();
//선언과 초기화를 동시에하고 위의 Company는 리턴값
//3. 외부에서 유일한 인스턴스(객체)를 참조할 수 있는 public메서드를 제공
public static Company getInstance() {
if(instance == null) {
instance = new Company();
}
return instance;
}
}
package ch09;
import java.util.Calendar;
public class MainTest3 {
public static void main(String[] args) {
Company company1 = Company.getInstance();
Company company2 = Company.getInstance();
Company company3 = Company.getInstance();
Company company4 = Company.getInstance();
System.out.println(company1);
System.out.println(company2);
System.out.println(company3);
System.out.println(company4);
//heap의 company에서 c1 c2 c3 에서 주소값을 설정해도 모두 같은 주소로 출력 - 싱글톤패턴
//싱글톤으로 만들어진 클래스
Calendar calendar = Calendar.getInstance();
Calendar calendar2 = Calendar.getInstance();
System.out.println(calendar.getTimeInMillis()); //1/1000초
// System.out.println(calendar2);
}
}
'Java > chapter2' 카테고리의 다른 글
ch10 Zergling Zealot Marine (0) | 2021.08.26 |
---|---|
ch09 FormainTest3 (0) | 2021.08.26 |
ch09 Employee (0) | 2021.08.25 |
ch09 NumberPrinter (0) | 2021.08.25 |
ch08 Person this란? (0) | 2021.08.25 |