Java/chapter2

ch09 Company

낭구리 2021. 8. 25. 17:51
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