[Item03] 싱글턴이 왜 필요할까?
싱글턴이란 애플리케이션 전체에서 단 하나만 존재하는 인스턴스를 의미한다 그러면 왜 단 하나만 필요할까? 크게 보면 두 가지 이유가 있다 1. 함수형 프로그래밍에서 자주 사용되는 불변 객체로 사용하기 위해 2. 생성 비용이 너무 비싸고, 스레드 간 공유해도 안전한 컴포넌트인 경우 1번은 Java Web Application을 만들 때 흔히들 사용하는 DTO 형태에서 상태 변경만 하지 못하도록 하면 된다 2번은 JPA에서 사용되는 EntityManagerFactory와 같은 객체를 예로 들 수 있다 EntityManagerFactory는 스레드 간 공유해도 안전하며 생성 비용이 크다 싱글턴을 만드는 방식은 어떻게 될까? 1. 생성자를 private으로 만들고 인스턴스 반환은 static method를 이용한..
Java/Effective Java
2022. 2. 2. 02:09