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