반응형
Enum..일단 에자일 책에서 처음 본 신개념입니다.
일단 정의부터 살펴보도록 하지요.

Enum : 정해진 리스트에서만 값을 선택할 수 있다.
            컴파일러가 지원하는 primitive타입이 아니라
            컴퍼일러가 클래스로 변환시킨다.
            불필요한 상수값 부여를 막을 수 있다.
            코드가 간결해진다.

책에 나와있는 소스코드를 보면,
               
enum Grade { A, B, C, D, F };

요런식으로 선언해줍니다.
Grade enum은 다섯 개의 가능한 값을 가지고, 각각은 객체 인스턴스를 표현합니다.

               public static void main(String[] args){

                     System.out.println(Grade.A);

               }

이런식으로 써줄 수 있지요.

이렇듯, Enum은 기본적으로 static입니다.
Enum클래스를 상속받은 static final class로서,
내부요소들은 해당클래스의 인스턴스를 가지게 되지요.

이걸 증명해줄만한, 재밌는 내용이 있어서 가져와봤습니다.1

enum으로 작성한 것을 jad라는 역컴파일러를 통해서 풀어준 코드입니다.

사용자 삽입 이미지

↓ jad로 변환

사용자 삽입 이미지

신기하지요?+ㅅ+ 스터디시간에 발표했던 내용인데, 복습할 겸.. 다시한번 올려봅니다.ㅎ

그때 알고 넘어간 Enum에 관한 사항은 여기까지입니다.
정말 더 깊이 공부하고 싶은 마음은 굴뚝 같으나..-ㅅ-;
아직까지는 너무 어렵네요.
너무 신개념이라 API를봐도 메소드의 정확한 사용법을
알아내기가 쉽지가 않네요.

일단 저 멀리 안드로메다 수준까지 정리를 해 놓으신 zerry님의 글을
트랙백으로 남겨놓겠습니다.-ㅅ-;
두고두고,, 천천히 봐야지.. 한번에 보려니까 머리가 너무 아프네여 ㅠ ㅎ

+ Recent posts