✅ CASE 문이란?

CASE문은 하나의 변수 값에 따라 여러 경우를 분기해서 실행할 수 있도록 도와주는 제어문


🧱 CASE 문 기본 구조

CASE 변수. WHEN 값1. " 값1일 때 실행할 코드 WHEN 값2. " 값2일 때 실행할 코드 ... 
WHEN OTHERS. " 나머지 경우 ENDCASE.
 

💡 예제

DATA: surname TYPE c LENGTH 10. 
surname = 'SMITH'. 
CASE surname. 
WHEN 'SMITH'. 
WRITE: 'You won a car!'. 
	WHEN 'JONES'. 
    	WRITE: 'You won a plane!'. 
    WHEN 'GREEN'. 
    	WRITE: 'You won a boat!'. 
    WHEN OTHERS. 
    	WRITE: 'You won nothing...'. 
ENDCASE.

결과
You won a car!


✅ CASE vs IF 비교


  CASE IF
비교 대상 단일 변수만 비교 다양한 조건 조합 가능
가독성 매우 뛰어남 조건 많아질수록 복잡해짐
복잡한 논리 X (단순 비교) O (AND, OR, 중첩 등)
기본 사용 예 정해진 값 분기 범위, 여러 조건 검사

🔁 중첩 CASE 문도 가능

CASE 문 안에 또 다른 CASE 문을 넣을 수도 있음

CASE surname.
  WHEN 'SMITH'.
    CASE forename.
      WHEN 'JOHN'.
        WRITE: 'You won a car!'.
      WHEN OTHERS.
        WRITE: 'Close, but no car!'.
    ENDCASE.
  WHEN OTHERS.
    WRITE: 'No prize.'.
ENDCASE.

✅ 팁: 가독성 유지

  • IF문보다 CASE가 읽기 쉬워서 값 하나를 기준으로 분기할 때 추천.
  • 조건이 복잡하거나 여러 필드를 동시에 비교할 때는 IF, ELSE IF 사용.

 

+ Recent posts