ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [ABAP] LOCAL CLASS 생성 및 OBJECT 생성
    카테고리 없음 2024. 2. 6. 18:34

    저번에 CLASS 용어를 한번 정리했었다.

    2024.01.04 - [Spring] - [ABAP] Class / Component / Object / Instance / Static

     

    [ABAP] Class / Component / Object / Instance / Static

    1. class : 객체 지향 프로그래밍의 기본 단위, 데이터와 해당 데이터를 처리하는 메서드를 하나의 단위로 묶어놓은 것. 명세서의 역할 을 하며, 객체를 생성하기 위한 템플릿으로 사용한다. 실제

    yellog03.tistory.com

     

    이번엔 실제로 ABAP에서 클래스를 선언하고 객체를 생성해보자.

     

    자동차 CLASS를 만드는데

     

    PUBLIC에는

    자동차의 특성을 설정하고, 설정한 특성을 보여주는 METHOD 2개와 (INSTANCE)

    총 만든 자동차의 개수를  보여주는 METHOD 1개 (STATIC_

    총 3개를 선언하고 

     

    PRIVATE에는

    자동차의 이름과 모델(특성) ,2개의 attribute (instance)

    자동차의 총 갯수를 담을 데이터 1개 의 attribute (static)

    출력 위치를 나타낼 상수 하나를 선언할 계획이다.

     

    일단 프로그램을 만들고 class를 선언하자.

    기본틀은 다음과 같다.

    주의해야 할 점은 항상 public이 private 보다 먼저 와야한다.

    범위가 넓은 것부터 선언해야 한다.

     

    일단 선언부

     

    attribute를 선언할때는 평소와 같이 DATA : 구문을 사용하여 선언하면 된다. 

    다만 이 경우는 instance 타입일때고 static으로 attribute를 선언하고 싶다면

    CLASS-DATA : 구문을 사용하여 선언 해주면 된다.

     

    "Instance attribute
      DATA: MV_MAKE TYPE STRING,
            MV_MODEL TYPE STRING.
    
      "Static Attribute.
      CLASS-DATA: GV_O_N_VEHICLE TYPE I.

     

    METHOD도 마찬가지.

    INSTANCE를 선언할때는 그냥 METHODS: 가 오지만

    STATIC을 선언할때는 꼭 앞에 CLASS를 붙여서 CLASS-METHODS:  를 이용한다.

     

    또 하나 주의해야할점은 선언부에서 METHOD를 선언할때는 꼭 뒤에 S를 붙여야 한다는 점!

    METHODS:
        SET_ATTRIBUTES IMPORTING IV_MAKE TYPE STRING
                                 IV_MODEL TYPE STRING,
    
        DISPLAY_ATTRIBUTES.
     
     CLASS-METHODS: ISPLAY_O_N_VEHICLES.

     

    METHOD는 IMPLEMENTATION에서 구현해주면 된다.

     

    IMPLEMENT 내부에서는 S 없이 METHOD라고 쓰면 된다.

     

    이제 객체를 생성해보자 엄청 쉬움.

     

    객체로 만들 변수를 선언한 다음

     

    CREATE OBJECT를 이용해서 객체를 만들어주면 된다 !

     

    이런식으로 생성해주면 된다 !!

Designed by Tistory.