728x90
Enum 타입
@2024.03.12
Enum 타입은 항상 개념이 헷갈리는 것 같다.
이번에 수업 들은 것을 한 번 더 정리하면서 리마인드 해보자.
Enum(Enumeration) - 열거형 타입
💡
서로 연관된 상수의 집합을 저장하는 자료형으로, 한정된 값만 갖는 데이터 타입
@기본 형식
public enum 열거타입이름{….}
@기본 형식
public enum 열거타입이름{….}
- JDK5부터 지원하는 기능
- 코드의 가독성을 높이고, 타입의 안정성을 보장할 수 있게 되었다.
Enum이 왜 탄생 했을까?
💡
기존 상수의 단점인 코드의 가독성과, 유지 보수성 저하 , 타입의 안정성을 보장하지 못한다는 문제점을 해결하기 위해 탄생
- 타입의 안정성을 보장할 수 없는 예시
public class GenderConstants { public static final int MALE = 0; //정수를 저장한 상수, 0은 남성을 뜻함 public static final int FEMALE = 1; //정수를 저장한 상수, 1은 여성을 뜻함 } public class GenderExam{ public static void main(){ int gender = GenderConstants.MALE; //성별을 나타내는 변수를 선언하고 초기화 int gender = 2; // 잘못된 값 저장 } }
- 위의 코드와 같이 2라는 값은 성별을 나타내는 값으로 적합하지 않지만 컴파일러는 이를 감지할 방법이 없다. ← 타입의 안정성 보장 X
- Enum 타입을 사용하여 타입의 안정성 보장하기
public enum Gender{ MALE, FEMALE; } public class GenderExam{ public static void main(){ Gender gender = Gender.OTHER //컴파일 오류 ; OTHER라는 상수가 존재하지 X Gender gender = Gender.FMALE // 컴파일 성공 } }
728x90