private 및 public
EGL 선언에 수정자 private을 추가할 수 있습니다. 정확한 의미는 컨텍스트에 따라 다르지만 일반적으로 private은 선언되는 항목의 범위를 제한합니다. "public" EGL 키워드는 없습니다. EGL은 private으로 선언하지 않은 모든 항목을 public으로 가정합니다.
private 키워드는 함수, 변수 또는 상수의 범위를 해당 항목이 정의된 파트로 제한합니다. 외부 함수는 완전한 경로를 사용해도 private으로 표시된 함수를 호출하거나, 변수 또는 상수의 값에 엑세스할 수 없습니다. 따라서 단일 파트에서만 액세스 가능하게 남아 있는 로컬 변수와 헬퍼 함수를 작성할 수 있습니다.
최상위 레벨 파트(예: 프로그램 또는 라이브러리)를 private으로 정의하면 해당 파트가 패키지 개인용이 되어 다른 패키지에 있는 파트에서 이를 가져오거나 사용할 수 없습니다.
함수 내에서 정의된 변수는 정의에 따라 해당 함수 개인용이며 해당 함수 외부의 명령문에서 이들 변수를 참조할 수 없습니다. 선언에는 수정자가 필요하지 않습니다.
프로그램 또는 핸들러에서 private 수정자를 적법하게 사용할 수 있지만 라이브러리나 서비스에서 가장 일반적으로 사용됩니다. 어떤 경우든 서비스 외부에서는 변수와 상수가 표시되지 않으므로 서비스에서 private 키워드를 사용하는 것이 타당한 위치는 함수 선언뿐입니다.
예제
다음 선언은 외부 프로그램이 테이블을 변경하지
않는 세금
프로그램에서 발생합니다.
private taxTable INT[][]; // no other program can change this
private function buildTaxTable() // no access
...
end
function figureTaxes() // public by default
buildTaxTable();
...
end
호환성
| 플랫폼 | 문제 |
|---|---|
| JSF | JSF 핸들러의 컨텍스트에서 private으로 선언하는 변수는 Page Designer에 표시되지 않습니다. 즉, 해당 변수를 페이지에 놓을 수 없습니다. |