본문 바로가기

Singleton2

이펙티브 자바 - 싱글턴 패턴 - 이 글은 Effective Java 를 기반으로 작성되었습니다. - 싱글턴 싱글턴은 객체를 하나만 만들 수 있는 클래스이다. 1.5 이전 버전의 JDK 에서는 2 가지 방법으로 싱글턴을 구현할 수 있다. 하나는 정적 멤버를 선언하는 것이고 다른 하나는 정적 팩토리 메소드를 이용하는 것이다. 이 방법으로 어떻게 싱글턴을 구현할 수 있는지 살펴보자. 2 가지 방법은 구현방법이 다르지만 공통점이 있는데 생성자가 private 여야 한다는 것이다. 생성자를 private 로 써야한다니 뭔가 있어 보이지만 생각해보면 객체가 하나만 존재하려면 자기자신 외에 생성자를 호출하면 안되므로 당연한것이다. - 정적 멤버 첫번째 방법은 정적 멤버 final (static final) 멤버를 초기화하고 이를 외부에 공개하는.. 2021. 9. 18.
객체 생성 패턴- 단일체 - 참조: GoF의 디자인 패턴 - 참조: Effective Java 2/E - 단일체(Singleton) 패턴 단일체 패턴은 한 개의 클래스 인스턴스만을 갖도록 보장하며, 이에 대해 접근점을 제공한다. 보통 단일체 패턴의 예로는 창 관리자나 파일 시스템과 같은 예가 있다. 가장 단순하게 구현하려면 전역 변수를 선언하면 되지만 이 방식은 문제가 상당히 많다. 단일체 패턴을 구현할 때에는 클래스가 자체적으로 인스턴스 접근방법을 관리하도록 한다. 위의 그림은 단일체 패턴의 구조를 UML로 나타낸것이다. 단일체 패턴은 참여자가 1개밖에 존재하지 않는다. Singleton: Instance() 연산을 정의하여, 유일한 인스턴스로 접근할 수 있도록 한다. 이때 Instance는 클래스 연산(static)이다. 단.. 2021. 4. 12.