Singleton 패턴
- 소프트웨어 설계 패턴 중 하나
- 클래스의 인스턴스가 하나만 생성되도록 보장
- 해당 클래스의 인스턴스에 전역적인 접근을 제공하지만 일관된 상태를 유지
싱글턴 패턴의 장단점
- 장점: 자원의 중복 생성을 방지, 메모리 사용 최적화, 전역 상태를 공유 + 통제된 접근
- 단점: 전역 상태를 관리 + 다른 클래스에 영향(결합의 가능성), 테스트가 어려움
(예제 코드)
더보기
public class Singleton {
private static Singleton instance;
private Singleton() {}; // 생성자를 private으로 선언 - 외부에서 직접 인스턴스 생성 X
// 전역 접근성을 제공하는 메서드를 제공
public static Singleton getInstance() {
if(instance == null) { // 정적 변수에 아무런 값이 없다면 (한번도 인스턴스화 X)
instance = new Singleton();
}
return instance;
}
package chapter13;
public class SingletonMain {
public static void main(String[] args) {
Singleton singleton1 = Singleton.getInstance();
System.out.println(singleton1); // chapter13.Singleton@1e80bfe8
Singleton singleton2 = Singleton.getInstance();
System.out.println(singleton2); // chapter13.Singleton@1e80bfe8
if (singleton1 == singleton2) {
System.out.println("동일한 인스턴스");
} else {
System.out.println("다른 인스턴스");
}
}
}
'Java' 카테고리의 다른 글
[Java] Scanner(sc.nextInt() 와 Integer.parseInt(sc.nextLine())의 차이) (0) | 2024.10.02 |
---|---|
[Java] 제네릭 (0) | 2024.09.23 |
[Java] MVC 패턴 (0) | 2024.09.23 |
[Java] Map (0) | 2024.09.23 |
[Java] Set (0) | 2024.09.23 |