Programming/JAVA

Singleton 패턴

dev? 2022. 5. 6. 10:24
반응형

Singleton 패턴

어떤 클래스가 최초 한 번만 메모리를 할당하고(Static) 그 메모리에 객체를 만들어 사용하는 디자인 패턴이다.

 

사용 이유 

- 한 번의 객체 생성으로 재사용이 가능하여 메모리 낭비를 방지할 수 있다.

- 싱글톤으로 생성된 객체는 한번 생성으로 다른 객체와 공유 가능하다. (전역성)

 


[ 사용 예제 ]

class Exam{
/* singleton 패턴 시작 */
    private static Exam instance = null;
    
    public static Exam getInstance(){
    	if(instance == null)
        	instance = new Exam();
        
        return instance; 
    }
    
    /* - new로 객체 생성 불가 
       - 디폴트 생성자가 private 이기 때문에, 클래스 외부에서 생성사 사용 불가 */
    pirvate Exam(){} 
    
/* singleton 패턴 끝*/
    
    
    // 메소드
    int method(int x, int y){
    	return x + y;
    }
}
/* 클래스 호출 */
Exam exam = Exam.getInstance();
exam.method(1, 2);

Exam.getInstance().method(1,2);

 

 

 

 

https://elfinlas.github.io/2019/09/23/java-singleton/

 

Java에서 싱글톤(Singleton) 패턴을 사용하는 이유와 주의할 점

Java에서 Singleton 패턴이란?Singleton(이하 싱글톤) 패턴은 자바에서 많이 사용한다.먼저 싱글톤이란 어떤 클래스가 최초 한번만 메모리를 할당하고(Static) 그 메모리에 객체를 만들어 사용하는 디자

elfinlas.github.io

 

반응형