안녕하세요...
CALL METHOD gv_editor ->free.
CALL METHOD cl_gui_cfw =>flush.
위에 코드에서 -> 와 => 의 차이점은
->새로 정의한 변수..
=>시스템것..
이렇게 이해하는것이 맞습니까?
설명 부탁 드립니다..
감사합니다..^^
댓글 8
-
안규
2009.04.29 02:41
-
안규
2009.04.29 02:48
아 감사합니다~ 정확히 모르고 사용하고있었네요 ㅋ -
보나
2009.04.29 02:48
OOP에 대해서는 Java 라든가 C를 하신 분들이 많아 답글을 달기가 조심스럽네요.
ESN 사이트에 올라왔던 글의 내용입니다.
클래스에 대한 객체를 생성하는 방법에는 2가지가 있습니다.
instance와 static 이지요.
1. Instance.
instance는 반드시 객체변수를 선언하고
create object 명령어를 사용하여 객체를 생성하면
객체의 주소값을 이 선언된 변수에 할당됩니다.
대표적으로 사용하는 것이 cl_gui_alv_grid 입니다.
instance로 생성된 객체는 -> 로 attribute나 method를 호출합니다.
2. static
static는 선언된 클래스와 무관하게 독립적으로 메모리를 할당합니다.
따라서 instance를 생성할 수 없습니다.(create object 명령어를 사용못합니다.)
반드시 class=>method , class=>attribute 처럼 class 명칭과 함께 호출해야 합니다.
대표적인 예로 CL_GUI_ALV_GRID 에서
set_table_for_first_display 라는 메서드는 instance이기 떄문에
DATA: go_grid TYPE REF TO cl_gui_alv_grid.
CREATE OBJECT go_grid.
call method go_grid->set_table_for_first_display 로 사용하고,
set_focus라는 메서드는 static 이기때문에
call method cl_gui_alv_grid=>set_focus 로 사용합니다. -
andy
2009.04.29 02:51
보나님이 정확하시네요. ^^
static은 프로그램을 한번 돌리면, 메모리에 한번만 올라가신다고 생각하면 되구요.
instance는 create 할때마다 메모리에 올라가게 됩니다.
abap 교재 보면 아예 한권이 ABAP Objects를 다루고 있죠.
한번 공부해 보시는 것도 도움이 되실듯.. ^^
-
보나
2009.04.29 02:54
-
유부남24세
2009.04.29 03:10
답변 감사합니다..^^ -
낙천
2009.04.29 17:37
초보지만 덧붙여서 Static 메소드 / 변수 는 따로 객체생성이나 선언없이도 사용이 가능합니다~
-
쥬앙
2009.04.29 22:45
ㅎㅎ 좋은 내용 감사합니다.
변수라기 보다는...
-> 사용자가 정의한 매소드를 사용할 때
=> 시스템에서 정의한 매소드를 그대로 사용할 때
아닌가요? ^^;;