직렬화
-
private 생성자 또는 enum 타입을 사용해서 싱글톤으로 만들 것JAVA/Effective java 2020. 12. 29. 19:35
싱글톤은 흔히 쓰는 용어이다. 하나의 패턴의 이름이고 App을 통틀어서 해당 클래스의 인스턴스가 하나만 사용하는 패턴을싱글톤이라고 한다. 간단하게 싱글톤 패턴을 요약해보면 자기 타입에 대한 인스턴스를 private static으로 만들어 놓는다. private 한 생성자를 만든다. 이제 이 타입의 인스턴스는 new를 통해 만들 수 없다. static 한 get메서드를 통해서 이 하나의 인스턴스를 가져다가 쓸 수 있다. ( multi-thread 등의 환경을 고려한다면 좀 더 복잡한 형태가 될 것 ) 이처럼 오직 한 인스턴스만 만드는 클래스를 싱글톤이라 부른다. 보통 함수 같은 Stateless 객체 또는 본질적으로 유일한 시스템 컴포넌트를 그렇게 만든다. 싱글톤의 단점으로는 사용하는 클라이언트 코드를 테..