Dart, 열거형 (Enumerated type)
글. 수알치 오상문
열거형(enum)은 상수 값들로 이루어진 특별한 클래스입니다. 예약어 enum을 사용하여 열거형 변수를 만들 어 사용합니다.
enum Color { red, green, blue }
void main() {
assert(Color.red.index == 0);
assert(Color.green.index == 1);
assert(Color.blue.index == 2);
}
열거형의 각 값에는 열거형 선언에 사용한 값의 위치(0부터 시작해서 1씩 증가)를 반환하는 getter 메서드가 제공됩니다. 첫 번째 값은 인덱스 0이고 두 번째 값은 인덱스 1입니다.
assert(Color.red.index == 0);
assert(Color.green.index == 1);
assert(Color.blue.index == 2);
열거형의 모든 값을 가져오려면 values 상수를 이용합니다.
List<Color> colors = Color.values;
assert(colors[2] == Color.blue);
다음은 switch 문장에서 열거형을 사용하는 예입니다. 열거형의 모든 값에 대응하도록 작성하지 않으면 경고가 발생하니 주의합니다.
var aColor = Color.blue;
switch (aColor) {
case Color.red: print('장미 같은 빨간색!');
break;
case Color.green: print('잔듸 같은 초록색!');
break;
default: // 이 부분이 없으면 경고 발생함
print(aColor); // 'Color.blue'
}
<이상>
'Dart' 카테고리의 다른 글
Dart, 클래스 변수와 메서드 (0) | 2021.06.17 |
---|---|
Dart, 클래스에 기능 추가하기(mixin) (0) | 2021.06.17 |
Dart, 클래스 class 확장 (0) | 2021.06.17 |
Dart, 메서드(메소드) (0) | 2021.06.17 |
Dart, 클래스 class (0) | 2021.06.15 |