개발자 미니민의 개발스터디

[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() : 싱글턴패턴, 하나의 인스턴스만 계속 갖고 공유한다.
한번만 새로운 객체를 생성하고 그 이후에 동일한 객체를 써야할 때 쓰는 메소드이다.

 

 

 

블로그의 정보

개발자 미니민의 개발로그

mini_min

활동하기