이 코드 예시는 Dart에서 열거형(enum)을 사용하는 방법을 보여주고 있습니다. 열거형은 명시적으로 지정된 목록 중 하나의 값을 갖는 변수를 생성할 때 유용합니다. 이러한 방식은 코드를 더 안전하게 만들고, 자동완성 기능을 향상시켜 개발자가 더 빠르고 정확하게 코드를 작성할 수 있게 도와줍니다.
Team과 XPLevel 열거형 정의: Team
과 XPLevel
두 개의 열거형이 정의되어 있습니다. Team
에는 red
와 blue
, XPLevel
에는 beginner
, medium
, hard
라는 세 개의 옵션이 있습니다.
Player 클래스: Player
클래스는 게임 플레이어를 나타냅니다. 플레이어의 이름(name
), 경험치 수준(xp
), 팀(team
), 나이(age
)를 속성으로 가지고 있습니다.
main 함수: 메인 함수에서는 Player
객체를 생성하고, 그 속성을 출력합니다. XPLevel
와 Team
열거형을 사용하여 xp
와 team
속성을 안전하게 설정합니다.
코드 안정성: 열거형을 사용하면 프로그램이 실행되는 동안 미리 정의된 목록 외의 값이 할당되지 않도록 할 수 있습니다. 이는 오류를 방지하고 코드의 안정성을 높이는 데 도움이 됩니다.
자동완성: 개발 환경에서 열거형을 사용하면 해당 열거형의 값들에 대한 자동완성 기능을 사용할 수 있어, 개발자가 빠르고 정확하게 코드를 작성할 수 있습니다.
코드 가독성: 열거형을 사용하면 코드의 의도를 명확하게 전달할 수 있으며, 다른 개발자가 코드를 읽고 이해하기 쉬워집니다.
/** 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
객체를 만들고, 그의 속성을 출력합니다. XPLevel
와 Team
열거형을 사용하여 xp
와 team
속성을 설정합니다. 이는 코드를 안전하게 만들고, 자동완성을 통해 더 빠르게 코드를 작성할 수 있게 도와줍니다.