singleton
-
[Spring][Kotlin] 싱글톤 컨테이너Spring 2022. 5. 18. 19:19
스프링은 기업용 온라인 서비스 기술을 지원하기 위해 탄생했다. 그리고 대부분 스프링 애플리케이션은 웹 애플리케이션이다. 웹앱은 보통 여러 고객이 동시에 요청한다. Problem] Request 마다 객체 생성하면 메모리 낭비가 매우 심하다. Sol) 해당 객체를 1개만 생성하고 공유하도록 하면 된다. (사실 요즘 GC가 좋아서 초당 100최 정도는 괜찮지만 효율적이면 좋으니까) 싱글톤 패턴 : 클래스의 인스턴스가 딱 1개만 생성되는 것을 보장하는 디자인 패턴이다. -> 객체 인스턴스가 2개 이상 생성 못하도록 막야야 한다. 싱글톤 구현 방법은 많다. 그 중 하나의 방법은 private 생성자를 사용해서 생성자를 사용하지 못하도록 막는 것이다. Kotlin에서는 object 키워드를 붙이면 싱글톤 클래스 ..