-
|
싱글톤을 구현할 때 enum 을 사용하면 가장 안전하게 구현할 수 있다고 배웠습니다 그리고 enum 을 통해 구현하는 방법을 배우기 이전에, 위 두 방법을 배울 때, 정적 팩토리 메서드 대신에 public static final 를 사용하는 게 더 좋은 경우가 있을까요? 이 부분에 대해 어떻게 생각하시는지 궁금합니다 |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment
-
|
생각 못해본 주제인데 좋은 질문인 것 같습니다! 일단은 결론을 말하기에 앞서, 장점
단점
단점이 장점을 상회한다고 생각이 들긴 하지만, 정리하자면, 저의 결론은 다음과 같습니다. |
Beta Was this translation helpful? Give feedback.
생각 못해본 주제인데 좋은 질문인 것 같습니다!
일단은 결론을 말하기에 앞서,
public static final을 이용한 싱글톤을 생성하는 방식의 장점과 단점을 정리해보면 해답의 실마리가 보일 것 같아 다음과 같이 정리해보았습니다.
장점
단점
단점이 장점을 상회한다고 생각이 들긴 하지만,
그럼에도 불구하고 public static final의 강력한 장점은 생성 비용이 낮다는 점인 것 같습니다.
따라서 이러한 점을 이용하여 사용되는 경우는 싱글톤과는 거리가 멀지만, 상수의 집합 클래스를 정의할 때인 것 같습니다.
상수의 집합은 별다른 상태를 가지지 않고 빠르게 가져다가 쓰며 재사용성이 목적이므로 public static final을 사용했을 떄의 장점이 부각됩니다.
정리하자면, 저의 결론은 다음과 같습니다.