Java의 정적 VS 비정적 열거형

Shubham Vora 2023년10월12일
  1. Java에서 Enum 소개
  2. Java의 정적 VS 비정적 Enum
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;
  }
}

위 구문에서 사용자는 EnumAEn1En2 상수 변수가 포함되어 있고 demo 클래스의 정적 메서드 내에서 어떻게 액세스했는지 확인할 수 있습니다.

Java의 정적 VS 비정적 Enum

이제 static 키워드로 선언된 Enumstatic 키워드 없이 선언된 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;
  }
}

위 구문에서 사용자는 EnumAstatic 키워드로 정의되고 EnumBstatic 키워드 없이 정의됨을 알 수 있습니다. 그러나 우리는 동일한 방식으로 두 Enum의 상수에 액세스하고 있으며 Java에서 모든 Enum은 정의하는 동안 사용자가 static 키워드를 사용하더라도 정적이라는 결론을 내립니다.

Java에서는 public static 메소드 내부의 객체 참조 없이 정적 멤버에만 액세스하고 클래스의 정적 메소드를 실행할 수 있습니다.

또한 개발자는 해당 클래스의 개체를 참조하지 않고 public static 메서드 내에서 EnumAEnumB의 변수에 액세스하고 있음을 관찰할 수 있습니다. 이는 static 키워드 없이 선언된 Enum도 기본적으로 정적임을 의미합니다. .

그래서 이 글은 프로그래머가 Enum을 정의할 때 static 키워드를 사용하지 않더라도 기본적으로 정적이라는 결론을 내립니다.

작가: Shubham Vora
Shubham Vora avatar Shubham Vora avatar

Shubham is a software developer interested in learning and writing about various technologies. He loves to help people by sharing vast knowledge about modern technologies via different platforms such as the DelftStack.com website.

LinkedIn GitHub

관련 문장 - Java Enum