Java 프로그래밍 언어에서 열거형을 싱글톤으로 사용하면 단일 인스턴스만 보장하는 편리한 방법을 제공합니다. 클래스가 존재합니다. 그러나 열거형을 사용하여 이 싱글톤 패턴을 구현하기 위해 다양한 접근 방식을 사용할 수 있으며 이로 인해 기능과 사용법이 약간 달라질 수 있습니다.
<code class="java">public enum Elvis { INSTANCE; private int age; public int getAge() { return age; } }</code>
In 이 접근 방식에서는 INSTANCE 필드가 생성되어 Elvis 열거형의 싱글톤 인스턴스를 효과적으로 정의합니다. 개인 생성자는 열거형 정의 외부의 인스턴스화를 제한합니다. 인스턴스에 액세스하려면 Elvis.INSTANCE.getAge()를 사용합니다.
<code class="java">public enum Elvis { INSTANCE; private int age; public static int getAge() { return INSTANCE.age; } }</code>
여기서 INSTANCE 필드는 이전과 마찬가지로 비공개입니다. 그러나 enum 인스턴스에 getter를 노출하는 대신 공용 정적 메서드 getAge()가 제공됩니다. Elvis.getAge()를 호출하면 enum 인스턴스의 age 속성을 검색합니다.
방법 1:
방법 2:
열거형을 싱글톤으로 사용하는 가장 좋은 방법은 특정 사용 사례에 따라 다릅니다.
일반적으로 기능이 독립형인 경우 정적 메서드 사용을 고려하세요. enum 클래스의 명시적인 인스턴스가 필요하지 않습니다. 인스턴스의 속성이 필수적이고 직접 액세스가 필요한 상황에서는 첫 번째 접근 방식이 더 적합할 수 있습니다.
위 내용은 Java의 싱글톤으로서의 열거형: 어떤 구현이 귀하에게 가장 적합합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!