유한한 집합을 표현하기 위한 방식
새로운 타입을 정의해 정의한 타입으로 다른 타입들처럼 변수를 선언해 사용할 수 있다
롤의 데미지 구조를 코드로 표현해보자
switch ~case를 이용
switch(attackType)
{
case 0;
물리 공격
break;
case 1;
마법 공격
break;
case 2;
고정뎀
break;
}
// 이 방식의 문제점 각 타입이 0,1,2로 표현되 사용 시 직관성이 떨어짐
상수를 사용해 보기 좋게 만들어보기
const int AP = 0, AD =1,TrueDamage=2;
switch(attackType)
{
case AP;
물리 공격
break;
case AD;
마법 공격
break;
case TrueDamage;
고정뎀
break;
}
하지만 이 방식도 숫자가 들어가 다른 사람과 공동 작업 시 어려움이 있을수도 있음
이 같은 상황에서 사용하기 좋은 열거형식 방식
enum 새로운 형식의 타입 { 원소1, 원소2, 원소3, .... }; 새로운 형식의 타입 변수명;
enum AttackType { attackPower=0, attackDamage=1, TrueDamage=2 };
열거형을 사용한 모습
switch (AttackType) { case attackPower: break; case attackDamage: break; case TrueDamage: break; default: break; } // attackPower=0, attackDamage=1,TreuDamage=2가 됨 //visual studio에서는 type을 치면 자동생성됨
복잡한 색삭 표현도 간단하게!
enum Color { RED = 0x~; BLUE = 0x~; .... }
열거형의 특성
정리