C와 Java에서도 볼 수 있는 enum이 dart에도 존재한다.
사용 방법도 더 편리하게 제공되고 있다.
enum
enum은 상수 열거형이라고 하며 C언어의 #define과 흡사한 개념이나,
특정 상황에서 사용되는 것들끼리 묶어놓은 것이라고 할 수 있다.
예를 들어 로딩 상태를 나타낼 때 prepare, loading, complete의 상태를 가질 수 있다.
이러한 상태를 조건문 등에 이용하기 위해 0, 1, 2를 사용하곤 했다.
이렇게 상수로 지정해놓을 경우 코드의 가독성이 떨어지게 되는데 이 때 enum을 사용할 수 있다.
정의
enum LoadingState {
prepare = 0, loading, complete
}
dart에서 enum은 위와 같이 정의할 수 있다. 첫글자에는 대문자를 사용하길 권장하고 있다.
내부에 열거해주면 자동으로 0, 1, 2... 와 같은 상수가 매핑된다.
위의 예시에서 prepare에 0을 부여해주었는데 첫 번째 요소에 시작 번호를 정의해주면
해당 번호 부터 자동으로 1씩 증가하며 요소들에 상수가 부여된다.
locate로 선언할 수 없으며 global로만 선언 가능하다.
사용
var loadingState = LoadingState.complete;
if(loadingState == LoadingState.complete){
}
별도의 클래스를 생성할 필요없이 enum변수명.요소의 형태로 곧바로 사용할 수 있다.
'Flutter > Dart' 카테고리의 다른 글
[플러터/다트] where 함수 (JS의 Filter) (1) | 2021.01.25 |
---|---|
[플러터/다트]map() 함수 (0) | 2021.01.23 |
[플러터/다트] 메모리 주소로 전달되는 List (0) | 2021.01.23 |
[다트/플러터] Get, Set 타입 (0) | 2021.01.20 |
[다트/플러터] 클래스 생성자 (0) | 2021.01.19 |