
ABAP에서 변수를 선언할 때 사용하는 TYPE, LIKE, TYPES, DATA.
헷갈리기 쉬운 이 키워드들을 실전 예제와 도표로 완전히 정리해봤습니다!
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. |
TYPES는 왜 쓰는 거예요?답변: 재사용 가능한 구조체나 타입을 정의할 때 사용합니다.
TYPES: BEGIN OF ty_customer,
kunnr TYPE kunnr,
name1 TYPE name1_gp,
ort01 TYPE ort01,
END OF ty_customer.
TYPE과 LIKE는 언제 사용하나요?답변:
TYPE은 명확한 타입 기반 선언LIKE는 기존 변수와 동일한 구조 복사DATA: gs_cust TYPE ty_customer.
DATA: gs_copy LIKE gs_cust.
TYPE TABLE OF는 언제 써요?답변: 구조체나 기본 타입을 기반으로 내부 테이블을 만들 때 사용합니다.
DATA: gt_cust TYPE TABLE OF ty_customer.
DATA: gs_line LIKE LINE OF gt_cust.
TYPE으로 써야 하나요?답변: 맞습니다. DDIC 구조는 반드시 TYPE으로 참조합니다.
DATA: lt_kna1 TYPE TABLE OF kna1,
ls_kna1 TYPE kna1.
TYPES와 DATA는 어떻게 달라요?| 선언 예시 | 메모리에 올라가나? | 설명 |
|---|---|---|
TYPES: ty_data TYPE i. | ❌ 없음 | 타입 정의만 함 |
DATA: lv_value TYPE ty_data. | ✅ 있음 | 실제 데이터 공간 생성 |
🧠 TYPES는 설계도, DATA는 진짜 저장소!

| 상황 | 추천 키워드 | 이유 |
|---|---|---|
| 반복되는 구조 재사용 필요 | TYPES, TYPE | 유지보수 용이 |
| 변수 복사하거나 비슷한 구조 필요 | LIKE | 빠르고 간편 |
| SAP 표준 테이블 사용 | TYPE + DDIC 구조명 | 표준화된 방식 |
| 테스트용 임시 구조체 | DATA BEGIN OF ... | 간단함, 비재사용 |
📌 ABAP 개발자는 TYPE과 LIKE만 잘 써도 실수가 줄고, 협업이 쉬워집니다.
이 글이 도움이 되셨다면 댓글이나 공감, 구독 부탁드립니다 🙌
다음 글에선FIELD-SYMBOLS,ASSIGN,MOVE-CORRESPONDING을 정리해보겠습니다!