Java의 정적 VS 비정적 열거형
이 기사에서는 Java의 enum
과 정적 및 비정적 enum
의 차이점을 소개합니다.
Java에서 Enum
소개
Java에서 enum
은 프로그래머가 여러 상수 변수를 만드는 데 사용할 수 있는 데이터 유형입니다. 일반적으로 프로그래머는 Java에서 상수 변수를 선언하기 위해 final
키워드를 사용하지만 프로그래머는 enum
을 사용하여 한 번에 모든 최종 변수를 선언하고 초기 값을 할당할 수 있습니다.
Enum
을 사용하는 구문:
public enum EnumA { En1, En2 }
public class demo {
public static void main(String[] args) {
EnumA test = EnumA.En1;
}
}
위 구문에서 사용자는 EnumA
에 En1
및 En2
상수 변수가 포함되어 있고 demo
클래스의 정적 메서드 내에서 어떻게 액세스했는지 확인할 수 있습니다.
Java의 정적 VS 비정적 Enum
이제 static
키워드로 선언된 Enum
과 static
키워드 없이 선언된 Enum
을 구분합니다. 사용자는 아래 코드를 보고 정적
키워드를 사용하거나 사용하지 않고 Enum
을 선언하는 방법을 배울 수 있습니다.
Static
키워드가 있거나 없는 Enum
의 구문:
public class demo {
public static enum EnumA { En1, En2 }
public enum EnumB { En3, En4 }
public static void main(String[] args) {
EnumA test1 = EnumA.En1;
EnumB test2 = EnumB.En3;
}
}
위 구문에서 사용자는 EnumA
가 static
키워드로 정의되고 EnumB
가 static
키워드 없이 정의됨을 알 수 있습니다. 그러나 우리는 동일한 방식으로 두 Enum
의 상수에 액세스하고 있으며 Java에서 모든 Enum
은 정의하는 동안 사용자가 static
키워드를 사용하더라도 정적이라는 결론을 내립니다.
Java에서는 public static
메소드 내부의 객체 참조 없이 정적 멤버에만 액세스하고 클래스의 정적 메소드를 실행할 수 있습니다.
또한 개발자는 해당 클래스의 개체를 참조하지 않고 public static
메서드 내에서 EnumA
및 EnumB
의 변수에 액세스하고 있음을 관찰할 수 있습니다. 이는 static
키워드 없이 선언된 Enum
도 기본적으로 정적임을 의미합니다. .
그래서 이 글은 프로그래머가 Enum
을 정의할 때 static
키워드를 사용하지 않더라도 기본적으로 정적이라는 결론을 내립니다.