Private components - 해당 클래스 안에서만 접근 가능한 영역. 서브클래스에서도 접근 불가능하다.
Protected components - 해당 클래스 및 서브클래스에서만 접근 가능한 영역.
- 하나의 클래스를 사용하여 여러가지 Instance(객체)를 선언하고 사용할 수 있다. (Multiple intantiation of the class) 각 객체들은 하나의 클래스를 사용하지만 독립적으로 사용 가능하며 서로 다른 값들을 가진다.
- Static Components는 하나의 클래스로 생성된 다른 모든 객체들이 같은 값을 가질 수 있다. 예로들면, Person이라는 클래스로 Jane, Mark, Dan이라는 세 개의 객체를 생성했을 경우, Static으로 선언된 어떤 한 Attribute의 값이 1이라면, 세 개의 모든 객체가 똑같이 그 Attribute의 값 1을 가진다. Static method도 같은 원리로 기존의 Instance method와는 다르게 클래스의 객체가 선언되지 않아도 사용되어질 수 있다. ( Instance method의 경우 객체를 만든 후 사용이 가능하지만 Static method는 객체를 생성하지 않아도 사용할 수 있음)
- Global Class 생성 후 Static Method 만들기
본인이 원하는 패키지를 오른쪽 마우스 클릭 후, 다음과 같이 생성한다. 클래스이름을 선언하고 Description을 작성하자. Methods 탭에서 Method이름을 지정하고, Level을 설정(Instance method와 Static Method 중 Staic Method 클릭), Visibility를 Public으로 설정한 후 Description을 작성하자. 그리고 Parameters를 클릭하여 IMPORT 할 변수와 EXPORT 할 변수를 지정하자. 다시 Method 화면으로 돌아와서 Sourcecode를 클릭하여 코드를 작성하자.
* Exceptions 버튼을 클릭서 Exception선언 가능. 소스코드 완성. Activate 해주면 ZBD212_FIRST_CLASS의 Static Method (GET_SUM) 생성 완성!
사용해보자! Pattern 버튼을 클릭해서 ABAP Objects Patterns을 클릭 후, 실행하면 그 다음 창이 뜨는데, CLASS이름과 METHOD이름을 적고 확인!
다음과 같이 변수들을 선언하고 셋팅을 한 후 실행해보자.
둘 중 하나의 값을 0으로 넣고, EXCEPTION 확인해보자.
- 클래스 선언
* Reference는 pointer로써 해당하는 객체를 가리킨다. DATA <Reference Name> TYPE REF TO <Class Name>.
* CREATE OBJECT로 객체 생성. (REFERENCE NAME을 지정해주자) * 객체 안에 있는 CONSTRUCTOR가 Parameter를 받는 구조라면, 해당하는 Data Object를 보내주어야 한다. * CONSTRUCTOR란 객체가 생성될 때, 자동으로 즉시 실행되는 METHOD이다. CREATE OBJECT <OBJECT NAME> <Reference Name> EXPORTING....
* CLASS 내의 METHOD 실행. CALL METHOD <Reference Name> -> <METHOD_NAME>.