인터페이스
- 인터페이스란 클래스가 구현해야 하는 멤버들을 정의하는 것입니다.
- 인터페이스는 클래스의 일종이 아니며, 클래스에 대한 제약 조건을 명시하는 것입니다.
- 클래스가 인터페이스를 구현할 경우, 모든 인터페이스 멤버를 구현해야 합니다.
- 인터페이스는 다중 상속을 지원합니다.
class MyClass : IMyInterface
{
public void Method1()
{
// 구현
}
public int Method2(string str)
{
// 구현
return 0;
}
}
열거형
- 가독성
열거형을 사용하면 일련의 연관된 상수들을 명명할 수 있습니다. 이를 통해 코드의 가독성이 향상되고, 상수를 사용할 때 실수로 잘못된 값을 할당하는 것을 방지할 수 있습니다.- 자기 문서화(Self-documenting)
열거형은 의미 있는 이름을 사용하여 상수를 명명할 수 있습니다. 이를 통해 코드의 가독성이 향상되며, 상수의 의미를 명확하게 설명할 수 있습니다.- 스위치 문과의 호환성
열거형은 스위치 문과 함께 사용될 때 유용합니다. 열거형을 사용하면 스위치 문에서 다양한 상수 값에 대한 분기를 쉽게 작성할 수 있습니다.
열거형 정의
enum MyEnum
{
Value1,
Value2,
Value3
}
스위치문에서 사용
switch(enumValue)
{
case MyEnum.Value1:
// Value1에 대한 처리
break;
case MyEnum.Value2:
// Value2에 대한 처리
break;
case MyEnum.Value3:
// Value3에 대한 처리
break;
default:
// 기본 처리
break;
}
게임에서 사용해보기
// 게임 상태
enum GameState
{
MainMenu,
Playing,
Paused,
GameOver
}
// 방향
enum Direction
{
Up,
Down,
Left,
Right
}
// 아이템 등급
enum ItemRarity
{
Common,
Uncommon,
Rare,
Epic
}