# Enum이란?
1. 클래스처럼 보이게 하는 상수
2. 서로 관련있는 상수들끼리 모아 상수들을 대표할 수 있는 이름으로 타입을 정의하는 것
3. Enum 클래스 형을 기반으로 한 클래스형 선언
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | public enum DevelopType { MOBILE("안드로이드"), WEB("스프링"), SERVER("리눅스"); final private String name; // enum에서 생성자 같은 역할 private DevelopType(String name){ this.name = name; } public String getName() { return name; } } | cs |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | enum ResourceType { CPU("CPU Usage", "%"), MEMORY("Memory Usage", "%"); final private String name; final private String value; private ResourceType(String name, String value) { this.name = name; this.value = value; } public String getName() { return name; } public String getValue() { return value; } } | cs |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | public class EnumTest { public DevelopType type; public static void main(String[] args){ System.out.println("--------------------------"); System.out.println(DevelopType.valueOf("MOBILE")); System.out.println(DevelopType.valueOf("MOBILE").getName()); for(DevelopType type : DevelopType.values()){ System.out.println(type.ordinal()+ " -> " +type +": " +type.getName()); } System.out.println("--------------------------"); for(ResourceType resource : ResourceType.values()){ System.out.println(resource.ordinal()+ " -> " +resource +":" +resource.getName()+":"+resource.getValue()); } } } | cs |
# 실행 결과
1 2 3 4 5 6 7 8 9 | -------------------------- MOBILE 안드로이드 0 -> MOBILE: 안드로이드 1 -> WEB: 스프링 2 -> SERVER: 리눅스 -------------------------- 0 -> CPU:CPU Usage:% 1 -> MEMORY:Memory Usage:% | cs |
# 참고사이트
https://limkydev.tistory.com/66
https://opentutorials.org/module/1226/8025
https://www.w3schools.com/java/java_enums.asp
'Java' 카테고리의 다른 글
TreeSet, TreeMap 개념 및 사용법 정리 (정리중,,,,) (0) | 2019.03.04 |
---|---|
[자바/Java] Scanner와 BufferedReader 차이 (0) | 2019.03.03 |
[자바/JAVA] StringTokenizer 사용법 정리 (0) | 2019.03.03 |
[자바/JAVA] String, StringBuilder, StringBuffer 차이 정리 (0) | 2019.03.03 |
[자바/JAVA] String to int, int to String 변환하는 방법 (0) | 2019.03.03 |