JAVA/enum클래스에서의 객체생성 질문입니다.

조회수 689회

자바를 처음 공부하는 학생입니다 프로그래머스에서 자바입문강의를 듣다가 궁금한 부분이 생겼는데요,

enum Gender{ MALE, FEMALE; }//열거형 정의

Gender gender2;//<-enum클래스이름 객체이름;

gender2 =Gender.MALE;
gender2 =Gender.FEMALE;

//열거형 사용 이라고 하였을 때

enum클래스이름 객체이름; 으로 gender라는 객체를 만들어주고 만들어준 gender객체를 enum클래스에서 정의해준 상수로 초기화해준 것 같은데 enum클래스에서는 new를 사용하지 않고 enum클래스이름 객체이름; 으로 선언해주는 것이 enum클래스 객체를 생성해주는 방법인가요? enum클래스에서 객체생성이 어떤 방법으로 이루어지는지 알고 싶어서 질문드립니다.

1 답변

  • 제가 알기로는 컴파일 단계에서 정의 된 상수 만큼 각각의 인스턴스가 생성되고 이 인스턴스 들은 static final 로 정의 된 정적변수에 담겨서 singleTon 형태로 사용 될 수 있게 되는 원리로 알고 있습니다.

    • (•́ ✖ •̀)
      알 수 없는 사용자

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)