ABAP-논리 연산

유재용·2025년 3월 19일

ABAP

목록 보기
7/11

ABAP 논리 연산자

ABAP에서 논리 연산자는 두 개 이상의 조건을 결합하여 하나의 논리적 결과를 도출하는 데 사용됩니다. 논리 연산자는 주로 IF 문, CASE 문, WHILE 루프 등의 제어 구문에서 활용됩니다.

기본 논리 연산자

연산자의미사용 예시
AND논리곱(양쪽 모두 참일 때 참)IF a > 0 AND b > 0.
OR논리합(하나라도 참이면 참)IF a > 0 OR b > 0.
NOT부정(참이면 거짓, 거짓이면 참)IF NOT ( a > 0 ).

논리 연산자의 우선순위

ABAP에서 논리 연산자의 우선순위는 다음과 같습니다 (위에서부터 높은 우선순위):

  1. NOT (!): 가장 높은 우선순위를 가지며 단항 연산자로 작동합니다.
  2. AND (&&): NOT 다음으로 높은 우선순위를 가집니다.
  3. OR (||): 가장 낮은 우선순위를 가집니다.

우선순위가 불분명하거나 복잡한 조건의 경우, 괄호 () 를 사용하여 명확하게 표현하는 것이 좋습니다.

복합 논리 조건 예시

* 예시 1: 우선순위에 따른 실행
IF a > 0 AND b > 0 OR c > 0.
  " 이 코드는 (a > 0 AND b > 0) OR c > 0 와 같이 실행됩니다
ENDIF.

* 예시 2: 괄호를 사용하여 우선순위 변경
IF a > 0 AND ( b > 0 OR c > 0 ).
  " 명시적으로 우선순위 지정
ENDIF.

* 예시 3: NOT 연산자 사용
IF NOT ( a <= 0 OR b <= 0 ).
  " 이 코드는 a > 0 AND b > 0 와 같습니다 (드모르간 법칙)
ENDIF.

논리 연산자 활용 시 주의사항

  • 복잡한 조건식은 가독성을 위해 괄호로 명확하게 구분하세요.
  • 드모르간 법칙(NOT (A OR B) = NOT A AND NOT B)을 활용하면 조건을 간결하게 표현할 수 있습니다.
  • 단락 평가(Short-circuit evaluation)를 이해하세요: AND 연산에서 첫 조건이 거짓이면 두 번째 조건은 평가하지 않습니다.
  • IS INITIAL과 같은 ABAP 특유의 조건문을 적절히 활용하면 코드를 더 간결하게 만들 수 있습니다.

이러한 논리 연산자를 적절히 활용하면 효율적이고 명확한 ABAP 프로그램을 작성할 수 있습니다.

profile
ABAP 개발자

0개의 댓글