싱글턴
-
private 생성자 또는 enum 타입을 사용해서 싱글톤으로 만들 것JAVA/Effective java 2020. 12. 29. 19:35
싱글톤은 흔히 쓰는 용어이다. 하나의 패턴의 이름이고 App을 통틀어서 해당 클래스의 인스턴스가 하나만 사용하는 패턴을싱글톤이라고 한다. 간단하게 싱글톤 패턴을 요약해보면 자기 타입에 대한 인스턴스를 private static으로 만들어 놓는다. private 한 생성자를 만든다. 이제 이 타입의 인스턴스는 new를 통해 만들 수 없다. static 한 get메서드를 통해서 이 하나의 인스턴스를 가져다가 쓸 수 있다. ( multi-thread 등의 환경을 고려한다면 좀 더 복잡한 형태가 될 것 ) 이처럼 오직 한 인스턴스만 만드는 클래스를 싱글톤이라 부른다. 보통 함수 같은 Stateless 객체 또는 본질적으로 유일한 시스템 컴포넌트를 그렇게 만든다. 싱글톤의 단점으로는 사용하는 클라이언트 코드를 테..
-
싱글턴 패턴( Singleton Pattern ) 과 static - Java 디자인 패턴JAVA/Java Design Patterns 2020. 4. 28. 20:58
싱글톤 패턴이란? 싱글턴 패턴은 일부 사람들이 static은 전역 변수와 같아 보이고 객체 지향이 아니라는 주장에 이러한 비판을 해결하고자 나왔다고 볼 수 있다. 애플리케이션이 시작될 때, 어떤 클래스가 최초 한 번만 메모리를 할당(static)하고 해당 메모리에 인스턴스를 만들어 사용하고 공유하는 제한하는 패턴 즉, 싱글톤 패턴은 '하나'의 인스턴스만 생성하여 사용하고 공유하는 디자인 패턴이다. 인스턴스가 필요할 때, 똑같은 인스턴스를 만들지 않고 기존의 인스턴스를 활용하는 것! 다음과 같은 조건을 충족하는 개체에 적합하다. 1. 프로그램 실행 중에 최대 하나만 있어야 할 때 2. 이 객체에 전역적인 접근이 가능해야 할때 좋은 예시는 Logger 가 있겠다. Logger는 싱글톤으로 만들어서 error..