enum(enumerate)은 열거형 이라고도 불리며 특정 값들의 집합을 정의하는 데 사용됩니다.
예를 들어, 요일, 계절, 상태 등을 나타낼 때 유용하며, 코드의 가독성을 높이고 특정 값들만 사용하도록 제한할 수 있어 오류를 줄이는 데 도움이 됩니다.
enum을 사용하는 이유
- 코드 가독성 향상
- 관련된 상수들을 그룹화하여 코드를 더 읽기 쉽고 이해하기 쉽게 만듭니다.
- 타입 안전성
- 컴파일 시점에 타입 체크를 통해 오류를 방지할 수 있습니다.
- 유지보수 용이성
- 관련 값들을 한 곳에서 관리할 수 있어 유지보수가 쉬워집니다.
- 명확한 의도 전달
- 코드의 의도를 명확하게 표현할 수 있습니다.
- switch 문과의 호환성
- enum은 switch 문과 잘 어울려 깔끔한 코드 작성이 가능합니다.
- 값의 제한
- 특정 값들로 제한된 집합을 만들 수 있습니다.
enum Weekday { Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday }
void main() {
Weekday today = Weekday.Wednesday;
switch (today) {
case Weekday.Monday:
print('오늘은 월요일입니다.');
break;
case Weekday.Tuesday:
print('오늘은 화요일입니다.');
break;
case Weekday.Wednesday:
print('오늘은 수요일입니다.');
break;
case Weekday.Thursday:
print('오늘은 목요일입니다.');
break;
case Weekday.Friday:
print('오늘은 금요일입니다.');
break;
case Weekday.Saturday:
print('오늘은 토요일입니다.');
break;
case Weekday.Sunday:
print('오늘은 일요일입니다.');
break;
}
}
여기서
enum Weekday { Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday }
이 코드들은 String 값이 아닙니다.
Weekday의 고유한 상수값입니다. 이 상수들은 List처럼 내부적으로 정수값은 0부터 시작합니다.
그렇다면
enum과 List는 같은가?
라고한다면 enum은 List와는 다릅니다.
enum은 특정 값들의 집합을 정의하는 데 사용되는 데이터 타입입니다.
반면에 List는 여러 요소를 순서대로 저장할 수 있는 컬렉션입니다.
또한 리스트는 <String> 처럼 리스트의 값을 지정해줄수 있습니다.
List<String> weekdays = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'];
따라서
- enum
- 고정된 값들의 집합을 정의하는 데 사용
- List
- 여러 요소를 순서대로 저장하는 데 사용
로 이해할 수 있습니다.
'Flutter > Dart Language' 카테고리의 다른 글
[플러터 Flutter] call 메서드란? (0) | 2024.09.13 |
---|---|
[플러터 Flutter] 조건문의 종류 (0) | 2024.08.01 |
[플러터 flutter] initState와 dispose란? (0) | 2024.07.31 |
[플러터 Flutter] 예외처리 try-catch와 throw, finally (0) | 2024.07.16 |
[플러터 flutter] 비동기 / 동기 async, awiat, future은 무엇인가? (0) | 2024.07.04 |