[ABAP] TYPE, LIKE, TYPES, DATA 차이 완전 정리!

J._NA 개발일지·2025년 5월 12일

💡 ABAP 선언 키워드 완전 정리 - Q&A & 도표 버전

썸네일

ABAP에서 변수를 선언할 때 사용하는 TYPE, LIKE, TYPES, DATA.
헷갈리기 쉬운 이 키워드들을 실전 예제와 도표로 완전히 정리해봤습니다!


📌 질문 1: TYPE, LIKE, TYPES, DATA의 차이가 뭐예요?

키워드역할기준 대상메모리 할당사용 예시
TYPES타입을 정의한다타입 또는 구조체❌ 없음TYPES: ty_name TYPE string.
DATA실제 변수를 만든다타입 또는 변수✅ 있음DATA: lv_name TYPE string.
TYPE타입 기반 선언DDIC, STRUCTURE✅ 있음DATA: gs TYPE ty_struct.
LIKE변수 기반 복사 선언기존 변수✅ 있음DATA: gs_copy LIKE gs.

📌 질문 2: TYPES는 왜 쓰는 거예요?

답변: 재사용 가능한 구조체나 타입을 정의할 때 사용합니다.

TYPES: BEGIN OF ty_customer,
         kunnr TYPE kunnr,
         name1 TYPE name1_gp,
         ort01 TYPE ort01,
       END OF ty_customer.

📌 질문 3: TYPELIKE는 언제 사용하나요?

답변:

  • TYPE명확한 타입 기반 선언
  • LIKE기존 변수와 동일한 구조 복사
DATA: gs_cust TYPE ty_customer.
DATA: gs_copy LIKE gs_cust.

📌 질문 4: TYPE TABLE OF는 언제 써요?

답변: 구조체나 기본 타입을 기반으로 내부 테이블을 만들 때 사용합니다.

DATA: gt_cust TYPE TABLE OF ty_customer.
DATA: gs_line LIKE LINE OF gt_cust.

📌 질문 5: SAP 표준 구조도 TYPE으로 써야 하나요?

답변: 맞습니다. DDIC 구조는 반드시 TYPE으로 참조합니다.

DATA: lt_kna1 TYPE TABLE OF kna1,
      ls_kna1 TYPE kna1.

📌 질문 6: 메모리 관점에서 TYPESDATA는 어떻게 달라요?

선언 예시메모리에 올라가나?설명
TYPES: ty_data TYPE i.❌ 없음타입 정의만 함
DATA: lv_value TYPE ty_data.✅ 있음실제 데이터 공간 생성

🧠 TYPES는 설계도, DATA는 진짜 저장소!


📌 요약 도표 이미지

ABAP 요약 도표


🎯 최종 정리 - 언제 어떤 키워드를 써야 할까?

상황추천 키워드이유
반복되는 구조 재사용 필요TYPES, TYPE유지보수 용이
변수 복사하거나 비슷한 구조 필요LIKE빠르고 간편
SAP 표준 테이블 사용TYPE + DDIC 구조명표준화된 방식
테스트용 임시 구조체DATA BEGIN OF ...간단함, 비재사용

📌 ABAP 개발자는 TYPE과 LIKE만 잘 써도 실수가 줄고, 협업이 쉬워집니다.


이 글이 도움이 되셨다면 댓글이나 공감, 구독 부탁드립니다 🙌
다음 글에선 FIELD-SYMBOLS, ASSIGN, MOVE-CORRESPONDING을 정리해보겠습니다!

profile
아밥 & 프론트엔드 개발자

0개의 댓글