728x90
반응형
최근 새롭게 자바 공부를 시작해서 프로그래밍을 하며 알게 된 지식들을 조금씩 블로그에 정리해보려 한다. 첫 번째는 Enum 클래스다.
📌 Enum의 의미와 개념
Enum이란 Enumeration의 앞글자로 '열거'라는 의미로 관련 있는 상수들의 집합을 나타내는 클래스이다. 대표적으로 요일이나, 계절 처럼 서로 의미있고 한정적인 데이터 집합들을 나타낼 때 사용한다. 클래스 내 선언하는 상수가 많아질수록 네이밍이 겹치는 것을 막고 상수값 관리를 용이하게 하기 위해 Class 대신 Enum을 사용한다. Enum은 단순히 데이터의 집합이 아니라 온전한 클래스 형태로 보며 상태와 행위를 한 곳에서 관리할 수 있다는 특징이 있다. enum 생성자는 private으로 선언
📄 Enum을 사용하는 이유
아래 두 가지 예시는 동일한 기능을 하지만 class 대신 enum을 사용하는 이유는 아래와 같다.
① 코드의 단순화로 가독성 향상시킨다.
② 인스턴스의 생성과 상속을 방지한다.
③ enum 키워드를 사용함으로써 구현의 의도가 열거임을 분명히 나타낼 수 있다.
class Day{
public final static Day MONDAY = new Day();
public final static Day TUESDAY = new Day();
public final static Day WEDNESDAY = new Day();
}
enum Day{
MONDAY,TUESDAY,WEDNESDAY;
}
👩🏫 Enum 관련 메소드
values() : 해당 열거체의 모든 상수를 저장한 배열을 생성하여 반환합니다.
ordinal() : 해당 열거 객체의 인덱스를 반환하여, 전체 열거 객체 중 몇 번째인지 알려준다.
valueOf() : 전달된 문자열과 일치하는 해당 열거체의 상수를 반환합니다.
반응형
'Programming Language > Java' 카테고리의 다른 글
자바 접근제어자(Access Modifier) 개념과 사용 (0) | 2021.11.26 |
---|---|
Commit convention 지키기 (feat. Angular.js) (0) | 2021.11.24 |