[플러터/다트] 열거 타입 enum

2021. 1. 14. 00:22·Flutter/Dart

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
'Flutter/Dart' 카테고리의 다른 글
  • [플러터/다트]map() 함수
  • [플러터/다트] 메모리 주소로 전달되는 List
  • [다트/플러터] Get, Set 타입
  • [다트/플러터] 클래스 생성자
코딩으로세계정복
코딩으로세계정복
Connecting the dots
  • 코딩으로세계정복
    코딩으로 세계정복
    코딩으로세계정복
  • 전체
    오늘
    어제
    • 전체 (134)
      • Who am I (10)
        • Portfolio (4)
        • Reminiscence (5)
        • Oversea (1)
        • SiliconValley (0)
      • React (36)
        • React Basic (15)
        • React Tech (5)
        • JavaScript (7)
        • TypeScript (3)
        • CSS&HTML (3)
        • Firebase (3)
      • NodeJS (1)
        • NodeJS Basic (1)
      • Flutter (55)
        • Flutter Widget Design (5)
        • Flutter Widget Basic (8)
        • Flutter Tech (18)
        • Flutter Issue (7)
        • Flutter Web (6)
        • About Flutter (2)
        • Firebase (1)
        • Dev Env (1)
        • Dart (7)
      • Programming (31)
        • Web (1)
        • General (0)
        • Algorithm (25)
        • Python (1)
        • VS Code (2)
      • Django (0)
  • 블로그 메뉴

    • Who I AM
    • React
    • NodeJS
    • Flutter
    • Programming
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    TypeScript
    HTML
    useState
    JSON
    링고리
    Firebase
    DART
    react
    map
    CSS
    JavaScript
    탐욕법
    Lingory
    Redux
    리액트
    github
    웹
    플러터
    포트폴리오
    flutter web
    useRef
    DP
    플러터 웹
    자바스크립트
    Flutter
    useTranslation
    프로그래머스
    파이썬
    Python
    알고리즘
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
코딩으로세계정복
[플러터/다트] 열거 타입 enum
상단으로

티스토리툴바