본문 바로가기

SAP셀프스터디/삼성에서 ERP로 먹고사는 컨설턴트가 알려주는 ABAP of SAP

객체 지향 프로그래밍

최초 작성일: 25.09.01

최종 작성일: 25.09.01

 

 

 

클래스와 객체

클래스는 설계도

객체: 실체

클래스 : 속성과 메서드로 구성되며 공통적인 개념들의 모음 임.

클래스를 참조하는 것이 객체 임

클래스는 하나이지만 객체는 수없이 찍어낼 수 있음

클래스는 속성과 메서드의 판을 모아놓은 것이고, 객체는 속성에 특정 값을 정해준 것임. 그 값들을 넣어주거나 변경하는 역할을 매서드가 함

 자동차 라는 클래스에 현재 속도라는 속성이 있음

그리고 이 현재 속도를 변경하는 가속과 감속이라는 매서드가 있음

클래스는 설계도 이므로 실제 속성값을 가지고 있지 않음

그럼 먼저 자동차 클래스를 참조한 갑돌이차라는객체를 만들어야 함

객체 선언

data : 갑돌이차 TYPE REF TO 자동차.

CALL METHOD 갑돌이차 -> 가속

                           EXPORTING 

                                      강도 = 10

                                      시간 =5

                          IMPORTING

                                      가속 = 30.

갑돌이차의 가속 메서드를 불러서 액셀을강도 10으로 5초간 밟으라는 명령을 내린것

그 결과로 30KM가 가속됨

이때 강도와 시간, 가속의 값을 '매개변수(파라미터)' 라고 함

 

 

SAP 상 CLASS 를 조회하고 새로운 클래스를 만드는 액션

T-CODE : SE24

IMPORTING : 입력을 받는 매개변수

EXPORTING : 출력을 받는 매개변수

CHANGING : 입력/출력 둘다 다함

※ CLASS BUILDER에 정의된 클래스의 입장에서 입력과 출력을 정의한 것 -> 프로그램에서 메서드를 호출할때는 입력과 출력이 반대가 됨 

 

(예시)

g_grid1 :  객체(object)

cl_gui_alv_grid : class
type ref to : class를 객체에 할당

DATA : g_GRID1 TYPE REF TO cl_gui_alv_grid.

 

attribute:

method:  set_table_for_fitst_display

명령어 : call method 오브젝트명 -> method

 

매개변수 (파라미터)

i_structure_name

 

MODULE pbo_0100 OUTPUT.

CREATE OBJECT g_container1
EXPORTING
  container_name = 'container'.

CREATE OBJECT g_grid1
EXPORTING
  i_parent = g_container1.

CALL METHOD g_grid1->set_table_for_first_display
EXPORTING i_structure_name = 'sbook'
  CHANGING
    it_outtab = gt_sbook[].

CREATE OBJECT g_container2
EXPORTING
  container_name = 'container'.

CREATE OBJECT g_grid2
EXPORTING
  i_parent = g_container2.

CALL METHOD g_grid2->set_table_for_first_display
EXPORTING i_structure_name = 'scustom'
  CHANGING
    it_outtab = gt_scustom[].

ENDMODULE.