[JAVA] 자바 - singleton(싱글톤) 과 getInstance
by mini_min[JAVA]
자바 - singleton 싱글톤
✔️ 싱글톤이란?
객체가 하나만 생성되는 디자인 패턴이다.
아직은 배우는 단계이다보니, 해당 패턴을 눈에 익혀두는 정도로 숙지할 것
class Demo1 {
private static Demo1 inst;
private int a;
private Demo1() { //생성자가 private이라 외부에서 객체 생성 불가
this.a = 0;
}
//이때, private static Demo1 inst; 를 이용한다.
public static Demo1 getInstance() {
if(inst==null) {
inst = new Demo1();
}
return inst;
//처음에 inst는 무조건 null, null은 1번만 실행해도 null이 아니게됨
}
}
public static void main(String[] args) {
// Demo1 obj = new Demo1(); //컴파일오류. 생성자가 private 이므로 불가
Demo1 obj = Demo1.getInstance(); // getInstance 로 받아서 가능!
}
◾ getInstance()
자바의 getter setter 와 비슷한 느낌의 메소드로, 객체를 반환시킨다.
private 으로 선언된 생성자는 new로 생성하지 못하며, getInstance() 를 통해서만 인스턴스를 갖게 할 수 있다.
💡new : 객체를 계속 계속 만들어낼 수 있음
getInstance() : 싱글턴패턴, 하나의 인스턴스만 계속 갖고 공유한다.
한번만 새로운 객체를 생성하고 그 이후에 동일한 객체를 써야할 때 쓰는 메소드이다.
'Java' 카테고리의 다른 글
[JAVA] 자바 - Wrapper class 란? 개념 정리 (0) | 2022.07.20 |
---|---|
[JAVA] 자바 - 기본 API 클래스 (import, static import, object, equals) (0) | 2022.07.20 |
[JAVA] 자바 - 인스턴스/static 초기화 블록 의미 (0) | 2022.07.20 |
[JAVA] 자바 - this 의미와 사용법 (0) | 2022.07.20 |
[JAVA] 자바 - arraycopy (배열 복사)란 무엇? (예문) (0) | 2022.07.20 |
블로그의 정보
개발자 미니민의 개발로그
mini_min