250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 리액트네이티브
- 프로젝트
- map
- node.js
- controller
- 오블완
- ReactNative
- 백엔드
- 스프링
- 코딩
- 자바스크립트
- 리액트
- expo
- 프로그래머스
- 코딩테스트
- Spring
- 2025 프로그래머스 코드챌린지 2차 예선
- 태그
- java
- React Native
- React
- 리액트 네이티브
- javascript
- 자바
- project
- 코테
- 티스토리챌린지
- PCCE
- firebase
- 파이어베이스
Archives
- Today
- Total
양갱의 개발 블로그
[Java] 자바(Java)의 Enum이란? 본문
728x90
백엔드 개발자 로드맵에서 처음 보는 Enum을 보고 공부가 필요함을 느꼈답니다...
💡 Enum이란?
자바의 Enum은 열겨형(Enumerated type)을 정의하는 특별한 클래스 타입입니다.
Enum은 주로 사전에 정의된 상수 집합을 표현할 때 사용되며, 각 상수는 enum 타입의 객체입니다.
📌 Enum의 정의 및 사용 방법
enum 열거이름 { 상수1, 상수2, 상수3, ---};
//ex)
enum Rainbow { RED, ORANGE, YELLOW, GREEN, BLUE, INDIGO, VIOLET }
enum 열거 이름 { 상수값 ... }
위와 같이 사용하면서 정의하면 됩니다.
✒️ 문법
열거이름.상수이름
// ex)
Rainbow.BLUE
☘️ values()
values() 메소드는 해당 열거체의 모든 상수를 저장한 배열을 생성하여 반환합니다.
즉 value 값을 추출하는 메소드입니다.
열거이름.values()
ex)
Rainbow[] arr = Rainbow.values()
☘️ valueOf()
valueOf() 메소드는 전달된 문자열과 일치하는 해당 열거체의 상수를 반환합니다.
열거이름.valueOf(상수값)
ex)
Rainbow rb = Rainbow.valueOf("INDIGO");
☘️ ordinal()
ordinal() 메소드는 해당 열거체 상수가 열거체 정의에서 정의된 순서(0부터 시작)를 반환합니다.
이때 반환되는 값은 열거체 정의에서 해당 열거체 상수가 정의된 순서이며, 상수값 자체가 아님을 명심해야 합니다.
열거이름.상수값.ordinal();
ex)
int idx = Rainbow.INDIGO.ordinal();
예제 코드(Java)
Enum 열거형 생성
public enum Season { // Season이라는 enum 생성
SPRING,
SUMMER,
AUTUMN,
WINTER
}
public class Main {
public static void main(String[] args) {
// values 메소드: enum의 모든 상수를 배열로 반환
Season[] seasons = Season.values();
for (Season season : seasons) {
System.out.println(season);
}
// valueOf 메소드: 주어진 문자열과 일치하는 enum 상수를 반환
Season summer = Season.valueOf("SUMMER");
System.out.println(summer);
// ordinal 메소드: enum 상수의 순서를 반환
int ordinal = Season.SUMMER.ordinal();
System.out.println(ordinal);
}
}
출력 결과
728x90
'백 > Java' 카테고리의 다른 글
[Java] JVM의 개념과 구조 (0) | 2023.11.10 |
---|---|
[Java] 자바(Java)의 람다식(Lambda)란? (2) | 2023.10.26 |
[Java] 자바(Java) 어노테이션(Annotation)이란? (2) | 2023.10.25 |
[Java] 자바(Java) 제네릭(Generic)이란? (0) | 2023.10.24 |
[Java] 자바(Java)의 컬렉션(Collection)이란? (2) | 2023.10.23 |