이넘(enum)이란?
이넘(enum)은 특정 값의 집합을 의미하는 데이터 타입이며, 상수 집합이라고도 표현합니다.
이넘의 종류에는 숫자형 이넘, 문자형 이넘이 있습니다.
숫자형 이넘(Number Enum)
- 이넘 속성은 기본적으로 숫자 값을 가지며, 첫 번째 속성무터 0, 1, 2 ... 값이 기본값으로 할당 됩니다.
- 이넘 속성은 속성과 값이 거꾸로 연결되어 할당되는 리버스 매핑 성질을 갖습니다.
- 이넘의 숫자 속성 값을 바꾸고 싶으면 속성 값에 원하는 숫자값을 할당하면 됩니다.
- 숫자 값 할당한 속성 이후 선언된 속성들은 자동으로 1씩 증가하는 숫자 값 속성을 가지게 됩니다.
enum Direction {
Up, // 0
Down, // 1
Left, // 2
Right // 3
}
enum Direction {
Up = 10, // 10
Down, // 11
Left, // 12
Right // 13
}
문자형 이넘(String Enum)
- 문자형 이넘이란 이넘의 속성 값에 문자열을 연결한 이넘을 의미합니다.
- 숫자형 이넘과 다르게 모든 속성 값을 다 문자열로 지정해주어야하며, 선언된 순서대로 숫자 값이 증가하는 규칙도 없습니다.
enum Direction {
Up = 'Up',
Down = 'Down',
Left = 'Left',
Right = 'Right'
}
혼합 이넘(Heterogeneous Enum)
- 이넘에 숫자와 문자열을 섞어서 선언한 이넘을 의미합니다.
enum Answer {
Yse = 'Y',
No = 0
}