열거형 (enum)

ssh·2023년 12월 10일
0

dart

목록 보기
13/22

enum이란?

  • enum은 열거형 타입(enumerated type)의 줄임말로 enumerationsenums 으로도 불린다.
  • 서로 연관된 상수를 모아놓은 집합이다.
  • 정해 둔 값만 넣어둘 수 있는 타입이다.
  • 많은 언어에서 사용되며 dart에서도 상수역할을 하는 식별자로서 사용된다.
  • enum은 값의 집합을 이루는 자료형으로, 수가 정해져 있는 상수 인스턴스가 있는 클래스를 선언하는데 사용할 수 있다.

특징

  • 인스턴스 변수는 final이어야 한다.
  • 생성자 생성자는 상수여야 한다.
  • 팩토리 생성자는 고정된 값 중 하나만 반환할 수 있다.
  • 코드가 단순해지며 가독성을 높일 수 있다.
  • 인스턴스 생성과 상속을 방지하고 상수값의 타입에 대한 안정성을 보장한다.
  • 구현의 의도를 분명하게 알 수 있다.
  • 상태와 행위 정의에 대한 관리가 명확해진다.

예제

enum Team { red, blue }

enum XPLevel { beginner, medium, pro }

class Player {
  String name;
  XPLevel xp;
  Team team;

  Player({
    required this.name,
    required this.xp,
    required this.team,
  });

  void sayHello() {
    print("hi my name is $name");
  }
}

void main() {
  var shin = Player(
    name: 'shin',
    xp: XPLevel.medium,
    team: Team.red,
  )
    ..name = 'las'
    ..xp = XPLevel.pro
    ..team = Team.blue
    ..sayHello();
}

0개의 댓글

관련 채용 정보