# 아이템 3. private 생성자나 열거 타입으로 싱글턴임을 보증하라
2023. 2. 5. 15:26
카테고리 없음
🚗 싱글톤이란? 싱글톤은 인스턴스를 애플리케이션에서 오직 하나만 생성할 수 있는 클래스를 의미한다. 예로 스프링 기본 빈이 싱글톤이다. 스프링 빈을 싱글톤으로 사용함으로써 이점은 모든 클라이언트 별로 인스턴스를 생성할 이유가 없기 때문에 무의미한 메모리 낭비를 줄일 수 있다. 별개로 스프링에서의 빈 싱글톤은 애플리케이션 전반의 싱글톤이 아닌 스프링 ApplicationContext 내에서의 싱글톤을 의미한다. 즉, new XXXService();를 하면 새로운 객체가 Context 밖에 생성이 된다는 의미이다. 🚗 싱글톤의 주의점 싱글톤은 모든 클라이언트가 공유하는 자원이기 때문에 인스턴스 변수가 존재하면 안된다. 만약 인스턴스 변수를 의도치 않게 하나의 클라이언트에서 변경하게 되면 모든 클라이언트에게 ..