본문 바로가기

카테고리 없음

Singleton Pattern

어떤 클래스에서 오직 하나의 인스턴스만을 생성하고 

그 인스턴스를 여러곳에서 공유하여 사용하는 패턴.

 

자원의 낭비를 줄이고, 객체 간 일관성 유지 위해 사용.

 

 

위 예시에서 Singleton클래스는 싱글톤 패턴을 구현하고 있음.

1. 정적 멤버변수로 (static) instance라는 변수 사용하여 유일한 인스턴스를 저장한다. 이 변수는 클래스 레벨에서 한 번만 생성되므로 모든 인스턴스가 공유할 수 있다.

2. 생성자를 private으로 선언하여 외부에선 인스턴스를 직접 생성할 수 없다. 외부에서 새로운 인스턴스를 만들지 못한다.

3. getInstance() 메서드로 유일한 인스턴스 반환. 이 메서드는 클래스 레벨에서 정적으로 (static)선언되어 있으므로 어디서든 호출 가능. 이미 인스턴스가 존재하는 경우에는 새로운 인스턴스를 생성하지 않고, 기존인스턴스만 반환한다.  

 

 

↓사용예시