Case 문서 해설
이 문서에서는 Case 액션을 사용하여 Switch 내에서 새로운 케이스를 생성하는 방법에 대해 설명합니다. 케이스는 주어진 값과 스위치의 입력 값을 비교하고, 만약 일치한다면 해당 케이스에 정의된 액션이 수행됩니다.
기본 개념
- Case: 주어진 값과 스위치 입력 값을 비교하여 특정 조건에 맞을 때 수행되는 액션 블록입니다.
- Constant: 비교에 사용할 수 있는 상수 값입니다. 이는 실수, 문자열 등 다양한 데이터 타입이 될 수 있지만, 컴파일 시 단일 값으로 평가되어야 합니다. 변수에 의존하는 표현식은 사용할 수 없습니다.
구문 및 인자
액션 구문
액션은 다음과 같은 기본 구문을 따릅니다.
// Switch 문 예시
switch (input_value) {
case value1:
// value1과 같을 때 수행할 액션
break;
case value2:
// value2와 같을 때 수행할 액션
break;
default:
// 아무 case와도 맞지 않을 때 수행할 액션
}
인자 설명
| 인자 | 설명 |
|---|---|
| Constant | 스위치 입력 값과 비교될 상수 값 |
사용 예제
예제 1: 게임 캐릭터의 상태
아래 예시는 게임 캐릭터의 상태에 따라 다른 행동을 수행하는 Switch 문입니다.
var character_state = "running";
switch (character_state) {
case "running":
// 달리기 애니메이션 실행
break;
case "jumping":
// 점프 애니메이션 실행
break;
case "attacking":
// 공격 애니메이션 실행
break;
default:
// 대기 애니메이션 실행
}
예제 2: 사용자 입력 처리
아래 예시는 사용자로부터 입력받은 키에 따라 다른 동작을 수행하는 코드입니다.
var user_input = "A";
switch (user_input) {
case "A":
// A 키를 눌렀을 때의 동작
break;
case "B":
// B 키를 눌렀을 때의 동작
break;
case "C":
// C 키를 눌렀을 때의 동작
break;
default:
// 알려지지 않은 키에 대한 기본 동작
}
예제 3: 점수에 따른 레벨 결정
아래 예시는 점수에 따라 다른 레벨을 결정하는 스위치 문입니다.
var score = 85;
switch (score) {
case 90:
// A 레벨의 동작
break;
case 80:
// B 레벨의 동작
break;
case 70:
// C 레벨의 동작
break;
default:
// 적어도 D 레벨
}
결론
Case와 Switch는 조건에 따른 흐름 제어를 쉽게 할 수 있도록 도와줍니다. 각 조건에 맞는 구체적인 액션을 명시적으로 정의할 수 있어 복잡한 로직을 관리하는 데 유용합니다. 다양한 데이터 타입과 조건을 활용하여 유연한 프로그램 설계가 가능합니다.