오늘은 Enum에 대해서 무엇인지 정리해 보고,
그 특징들에 대해서 알아보도록 하겠습니다.
1. Enum
enum은 Enumerated Type의 줄임말인데요.
열거형 타입이라는 의미입니다.
선택할 수 있는 관련되어 있는 상수들을 모아서,
하나의 집합으로 정의한 상수인데요.
이것을 좀더 쉽게 풀어보도록 하겠습니다.
요일은 월요일부터 일요일까지만 존재하는데요.
따라서, 요일에 관해서는 월요일~일요일 이 7가지만 쓰도록 하면,
좀 더 안전하게 코딩을 할 수 있을텐데요.
enum을 사용해서 열거되는 아이템들을 정해놓고 그 안에서만 선택하도록 할 수 있습니다.
2. Enum의 특징
2-1. 명확하다
키워드인 enum을 사용하므로,
명확하게 열거형 상수를 의미할 수 있구요.
의도하지 않게, enum이 객체화 하거나 상속되는 것을 컴파일단계에서 막을 수 있습니다.
2-2. Enum도 클래스이다.
Enum도 클래스이므로
생성자를 가질 수 있습니다.
사실 아래 이미지와 같이 Days라는 enum을 호출하면,
MONDAY~SUNDAY까지의 요일의 객체를 각각 생성시켜 주는데,
이 때 생성자에 있는 "Days: 생성자 생성"이라는 로그도 찍히게 됩니다.
물론, 클래스이므로 변수와 메소드도 생성해서 사용할 수 있는데요.
필요에 따라서 static메소드를 생성해서 특정 값에 접근할 수 있도록 할 수 있습니다.
2-2. 값을 꺼내어 볼 수 있다.
Enum의 가장 또다른 특징은 배열과 같이,
어떤 상수들로 이루어 져있는지 몰라도,
values메소드를 이용해서,
그 값들에 대해 for문을 사용해서 볼 수 있다는 것입니다.
2-3. intent를 이용해 전달하고 받을 수 있다.
enum을 보낼때는 아래와 같이 putEXTRA를 사용해주면 되구요.
Days mDays = Days,MONDAY;
intent.putExtra("KEY_ENUM", mDays);
받을 때는 아래와 같이 getSerializableExtra를 이용해서 받은다음 해당 ENUM으로 캐스팅해서 사용할 수 있습니다.
Days receivedDay = (Days) getIntent().getSerializableExtra(KEY_ENUM);
지금까지 Enum에 대해서 간단히 알아보고,
특징들에 대해서도 정리해 보았습니다.
간략하면서 명확한 코딩을 하는데 많은 도움을 주므로,
코딩하는데 많은 도움이 될 것 같네요.
'Android 개발 > Java, Java8' 카테고리의 다른 글
Java 8의 메서드 참조(Method Reference) 문법 이해하기 (0) | 2024.11.02 |
---|---|
Java에서 랜덤 함수를 이용해 난수 얻기 (0) | 2019.09.13 |
Java, Android 에서 날짜 표현할 때 Calendar, Date 그리고 SimpleDateFormat (1) | 2018.12.11 |
정규 표현식 (Regular Expression) 과 응용 사례를 정리해 보자 (1) | 2017.09.07 |
Math 클래스 의 반올림, 올림, 버림 등 자주 사용하는 메소드 정리 #Java (0) | 2017.04.09 |
Matcher 클래스와 Pattern Class로 정규 표현식을 활용해보자 (0) | 2017.03.22 |
Java 배열 및 ArrayList 를 Comparable과 Comparator 를 이용해 정렬하기 (0) | 2017.03.19 |
Bit 논리 연산과 시프트 연산 의 정리 (0) | 2017.03.16 |
Java Wrapper 클래스 를 정리해 보자 (0) | 2017.03.07 |
Java Map인 HashMap, TreeMap, LinkedHashMap 에 대해서 정리해 보자. (0) | 2017.02.12 |
댓글