ABAP-연산자

유재용·2025년 3월 19일

ABAP

목록 보기
8/11

ABAP 연산자(Operators)

ABAP 프로그래밍 언어에서는 다양한 연산자를 사용하여 데이터를 조작하고 연산을 수행합니다. 이러한 연산자들은 다양한 카테고리로 분류될 수 있습니다.

1. 산술 연산자 (Arithmetic Operators)

  • + (더하기): 두 피연산자의 합을 계산합니다.
  • - (빼기): 첫 번째 피연산자에서 두 번째 피연산자를 뺍니다.
  • * (곱하기): 두 피연산자의 곱을 계산합니다.
  • / (나누기): 첫 번째 피연산자를 두 번째 피연산자로 나눕니다.
  • DIV (정수 나누기): 정수 나눗셈의 몫을 계산합니다.
  • MOD (모듈로): 나눗셈의 나머지를 계산합니다.
  • ** (지수): 거듭제곱을 계산합니다.

2. 비교 연산자 (Comparison Operators)

  • = 또는 EQ (Equal): 두 피연산자가 같은지 비교합니다.
  • <> 또는 NE (Not Equal): 두 피연산자가 같지 않은지 비교합니다.
  • < 또는 LT (Less Than): 첫 번째 피연산자가 두 번째 피연산자보다 작은지 비교합니다.
  • > 또는 GT (Greater Than): 첫 번째 피연산자가 두 번째 피연산자보다 큰지 비교합니다.
  • <= 또는 LE (Less than or Equal): 첫 번째 피연산자가 두 번째 피연산자보다 작거나 같은지 비교합니다.
  • >= 또는 GE (Greater than or Equal): 첫 번째 피연산자가 두 번째 피연산자보다 크거나 같은지 비교합니다.

3. 문자열 연산자 (String Operators)

  • && (연결): 두 문자열을 연결합니다.
  • CA (Contains Any): 첫 번째 피연산자가 두 번째 피연산자의 문자 중 하나라도 포함하는지 확인합니다.
  • CO (Contains Only): 첫 번째 피연산자가 두 번째 피연산자의 문자만 포함하는지 확인합니다.
  • CS (Contains String): 첫 번째 피연산자가 두 번째 피연산자를 부분 문자열로 포함하는지 확인합니다.
  • CN (Contains Not): 첫 번째 피연산자가 두 번째 피연산자를 포함하지 않는지 확인합니다.
  • NP (No Pattern): 첫 번째 피연산자가 두 번째 피연산자 패턴과 일치하지 않는지 확인합니다.
  • CP (Contains Pattern): 첫 번째 피연산자가 두 번째 피연산자 패턴과 일치하는지 확인합니다.

4. 비트 연산자 (Bitwise Operators)

  • BIT-AND: 비트별 AND 연산을 수행합니다.
  • BIT-OR: 비트별 OR 연산을 수행합니다.
  • BIT-XOR: 비트별 XOR(배타적 OR) 연산을 수행합니다.
  • BIT-NOT: 비트별 NOT 연산을 수행합니다.

5. 할당 연산자 (Assignment Operators)

  • = (할당): 오른쪽 피연산자의 값을 왼쪽 피연산자에 할당합니다.
  • += (더하기 후 할당): 오른쪽 피연산자를 왼쪽 피연산자에 더한 후 그 결과를 왼쪽 피연산자에 할당합니다.
  • -= (빼기 후 할당): 왼쪽 피연산자에서 오른쪽 피연산자를 뺀 후 그 결과를 왼쪽 피연산자에 할당합니다.
  • *= (곱하기 후 할당): 왼쪽 피연산자와 오른쪽 피연산자를 곱한 후 그 결과를 왼쪽 피연산자에 할당합니다.
  • /= (나누기 후 할당): 왼쪽 피연산자를 오른쪽 피연산자로 나눈 후 그 결과를 왼쪽 피연산자에 할당합니다.

6. 예시 코드

REPORT z_operator_example.

DATA: lv_num1 TYPE i VALUE 10,
      lv_num2 TYPE i VALUE 5,
      lv_result TYPE i,
      lv_text1 TYPE string VALUE 'ABAP',
      lv_text2 TYPE string VALUE 'Operators',
      lv_combined TYPE string.

* 산술 연산자
lv_result = lv_num1 + lv_num2.  " 결과: 15
WRITE: / '덧셈:', lv_result.

lv_result = lv_num1 - lv_num2.  " 결과: 5
WRITE: / '뺄셈:', lv_result.

lv_result = lv_num1 * lv_num2.  " 결과: 50
WRITE: / '곱셈:', lv_result.

lv_result = lv_num1 / lv_num2.  " 결과: 2
WRITE: / '나눗셈:', lv_result.

lv_result = lv_num1 DIV lv_num2.  " 결과: 2
WRITE: / '정수 나눗셈:', lv_result.

lv_result = lv_num1 MOD lv_num2.  " 결과: 0
WRITE: / '모듈로:', lv_result.

lv_result = lv_num2 ** 2.  " 결과: 25
WRITE: / '거듭제곱:', lv_result.

* 문자열 연산자
lv_combined = lv_text1 && ' ' && lv_text2.  " 결과: 'ABAP Operators'
WRITE: / '문자열 결합:', lv_combined.

* 비교 연산자 사용 예 (기호 및 텍스트 형식)
IF lv_num1 > lv_num2.  " 또는 IF lv_num1 GT lv_num2.
  WRITE: / 'lv_num1이 lv_num2보다 큽니다'.
ENDIF.

IF lv_num1 EQ 10.  " 또는 IF lv_num1 = 10.
  WRITE: / 'lv_num1은 10과 같습니다'.
ENDIF.

7. 연산자 우선순위

ABAP에서 연산자의 우선순위는 다음과 같습니다 (위에서 아래로 우선순위가 낮아짐):

  • 1순위: 괄호 ()
  • 2순위: 지수 **
  • 3순위: 단항 + 및 -
  • 4순위: *, /, DIV, MOD
  • 5순위: 이항 + 및 -
  • 6순위: =, <>, <, >, <=, >=, EQ, NE, LT, GT, LE, GE
  • 7순위: NOT
  • 8순위: AND
  • 9순위: OR

ABAP 연산자를 효과적으로 활용하면 코드의 가독성과 효율성을 높일 수 있습니다. 특히 복잡한 로직을 구현할 때는 연산자의 우선순위를 고려하여 괄호를 적절히 사용하는 것이 좋습니다.

profile
ABAP 개발자

0개의 댓글