이지아밥 930p 예제 17-4-2 을 보고 궁금한게 생겨서요.
맨 마지막 줄에
call method
g_employee2->display_no_of_employees. 를 한 결과가 왜 2가 되는지 궁금합니다.
이미 lcl_employee 을 참조하는 g_employee1, g_employee2 가 2개 선언되었기 때문에
protected section 에 선언된 static변수 g_no_of_employees type i. 가 2로 나오는건가요.
그럼, 좋은 하루 되세요^^*
* e-abap님에 의해서 게시물 이동되었습니다 (2008-06-27 13:40)
예 맞습니다. static 변수이기 때문에 오브젝트를 생성하더라도 초기화되지 않습니다.
생성자 메소드 constructor를 호출하면
static 변수가 1씩 증가하기때문에 2가 되는것입니다.
METHOD constructor.
g_employee-no = im_employee_no.
g_employee-name = im_employee_name.
g_no_of_employees = g_no_of_employees + 1.
ENDMETHOD.