인프런 커뮤니티 질문&답변

CamelCase님의 프로필 이미지
CamelCase

작성한 질문수

코딩으로 학습하는 GoF의 디자인 패턴

싱글톤 패턴 4부 - 안전하고 단순하게 구현하는 방법

싱글톤 패턴 구현중 enum을 사용해 구현할 경우 단점중에서..

작성

·

412

0

enum으로 싱글톤 패턴 구현중에 인스턴스가 미리 생성되는다는게 단점이라고 말씀하셨는데요. 혹시 예를들어 세부적으로 어떤점에서 단점이라는 건지 알려 주실 수 있으신가요?

답변 1

4

백기선님의 프로필 이미지
백기선
지식공유자

안녕하세요. 큰 단점은 아니지만 인스턴스를 필요한 순간에 만드는 "초기화 지연" (lazy initialization)을 사용하지 못한다는 이야기입니다. 그렇게 되면 만약에 해당 인스턴스가 만드는데 메모리를 많이 사용하고, 시간이 오래 걸린다면 애플리케이션 구동시 시간과 그만큼의 비용이 쓰이겠죠. 또 더 나아가, 그럴일은 많지 않겠지만 혹여나 그렇게 만든 인스턴스를 사용하지 않는다면 그 자체로 허무하게 비용을 쓴거니까 문제가 될테구요.

그래서 리소스(CPU나 메모리)에 민감한 애플리케이션인 경우에는 필요한 순간에 인스턴스를 만드는 "초기화 지연" 기법을 선호하지만, 대부분의 경우에는 enum을 써도 크게 문제가 될 일은 없을겁니다.

CamelCase님의 프로필 이미지
CamelCase
질문자

안녕하세요. 친절한 답변감사합니다. 

CamelCase님의 프로필 이미지
CamelCase

작성한 질문수

질문하기