본문 바로가기

ABAP 프로그래밍 개념/Object-Oriented ABAP

CLASS [1]

클래스란


클래스는 객체의 Template(골격) 또는 객체의 타입을 정의.

즉 클래스는 객체의 추상화된 명세서 또는 객체를 만드는 설계서

객체의 속성은 클래스 객체의 상태와 행위를 묘사하는 구성요소(Component)에 의해 정의됨.

 


클래스 - Global / Local CLASS


ABAP Object에서 클래스는 전역(Global), 지역(Local) 변수로 선언할 수가 있음.

 

1.전역(Global) 변수

ABAP Workbench에서 T-CODE(SE24) 트랜잭션(Class Builder)을 이용해 전역 클래스와 전역 인터페이스를 정의할 수 있다.

 

이렇게 정의된 클래스들은 Class Pools(Class Library in the Repository)에 저장되며, 모든 ABAP 프로그램은 전역 클래스에 접근하여 사용할 수 있다.

 

2.지역(Local) 변수

지역 클래스와 지역 인터페이스는 “프로그램 내”에서 선언되며, 사용자가 정의한 프로그램에서만 사용할 수 있음.

 

시스템은 먼저 프로그램 내부에 정의된 Local(지역) 클래스를 탐색하고 존재하지 않으면 Global(전역) 클래스를 찾게 된다. ABAP 프로그램 내에서 사용될 때는 전역 클래스와 지역 클래스 간에는 아무런 차이가 없다.

 


클래스를 선언하는 기본 구문


프로그램 내에서 클래스를 정의하고 메서드의 기능을 구현하는 구문.

클래스를 프로그램 내에서 정의하고 구현하려면 DEFINITIONIMPLEMENTATION을 알고 있어야한다.

 

DEFINITION

클래스의 구성 항목(Attributes, Method, Events)을 정의한다.

IMPLEMENTATION

클래스의 Method 기능을 구현한다.

 

아래 구문은 클래스를 정의하는 구문이다.

CLASS 클래스명 DEFINITION.
...
ENDCLASS.

 

위 구문을 기반으로 클래스를 정의하고 메서드를 호출하는 아주 간단한 ABAP 객체지향 프로그램을 생성해보자.

 

REPORT Z_ABO_PROGRAM_03.

CLASS c1 DEFINITION. "C1이라는 클래스 정의"
 PUBLIC SECTION.    
 METHODS meth.	"meth라는 이름의 METHOD를 정의"
 ENDCLASS.       "C1 DEFITION:"
 
 
 CLASS c1 IMPLEMENTATION. "c1의 IMPLEMENTATION(구현)"
 METHOD meth. "meth라는 이름의 METHOD의 로직을 선언하는 부분"
 WRITE / 'CLASS TEST'. "meth라는 METHOD는 'CLASS TEST'를 WRITE하는 것."
 ENDMETHOD.
 ENDCLASS.       "C1 IMPLEMENTATION"
 
 DATA : go_cref TYPE REF TO c1. "클래스 c1을 객체 참조 변수하는 go_cref를 선언"
 START-OF-SELECTION.			
 CREATE OBJECT go_cref.			"CREATE OBJECT : 객체로 만들기"
 CALL METHOD go_Cref->meth. 	"CALL METHOD : go_cref를 통해 METHOD : meth부르기"

 

반응형

'ABAP 프로그래밍 개념 > Object-Oriented ABAP' 카테고리의 다른 글

Object Oriented 언어로서의 ABAP  (0) 2023.01.01
METHOD  (0) 2020.08.15
OBJECT(객체)란?  (1) 2020.08.12
CLASS [2] 구성요소  (0) 2020.08.05
클래스와 객체의 관계 & 클래스와 인스턴스  (1) 2020.08.04