Dart 언어 오답노트 : 11. enum

샤워실의 바보·2023년 10월 24일
0
post-thumbnail

이 코드 예시는 Dart에서 열거형(enum)을 사용하는 방법을 보여주고 있습니다. 열거형은 명시적으로 지정된 목록 중 하나의 값을 갖는 변수를 생성할 때 유용합니다. 이러한 방식은 코드를 더 안전하게 만들고, 자동완성 기능을 향상시켜 개발자가 더 빠르고 정확하게 코드를 작성할 수 있게 도와줍니다.

코드 설명:

  1. Team과 XPLevel 열거형 정의: TeamXPLevel 두 개의 열거형이 정의되어 있습니다. Team에는 redblue, XPLevel에는 beginner, medium, hard라는 세 개의 옵션이 있습니다.

  2. Player 클래스: Player 클래스는 게임 플레이어를 나타냅니다. 플레이어의 이름(name), 경험치 수준(xp), 팀(team), 나이(age)를 속성으로 가지고 있습니다.

  3. main 함수: 메인 함수에서는 Player 객체를 생성하고, 그 속성을 출력합니다. XPLevelTeam 열거형을 사용하여 xpteam 속성을 안전하게 설정합니다.

장점:

  • 코드 안정성: 열거형을 사용하면 프로그램이 실행되는 동안 미리 정의된 목록 외의 값이 할당되지 않도록 할 수 있습니다. 이는 오류를 방지하고 코드의 안정성을 높이는 데 도움이 됩니다.

  • 자동완성: 개발 환경에서 열거형을 사용하면 해당 열거형의 값들에 대한 자동완성 기능을 사용할 수 있어, 개발자가 빠르고 정확하게 코드를 작성할 수 있습니다.

  • 코드 가독성: 열거형을 사용하면 코드의 의도를 명확하게 전달할 수 있으며, 다른 개발자가 코드를 읽고 이해하기 쉬워집니다.

/** enum
 * 자동완성이 되게 안전한 코딩
 * flutter의 Colors.white가 예시
 */

enum Team {
  red,
  blue,
}

enum XPLevel {
  beginner,
  medium,
  hard,
}

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

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

void main() {
  var nico = Player(
    name: 'nico',
    xp: XPLevel.beginner,
    team: Team.red,
    age: 10,
  );

  print('Name: ${nico.name}');
  print('XP: ${nico.xp}');
  print('Team: ${nico.team}');
  print('Age: ${nico.age}');
}

이 코드는 nico라는 Player 객체를 만들고, 그의 속성을 출력합니다. XPLevelTeam 열거형을 사용하여 xpteam 속성을 설정합니다. 이는 코드를 안전하게 만들고, 자동완성을 통해 더 빠르게 코드를 작성할 수 있게 도와줍니다.

profile
공부하는 개발자

0개의 댓글