Class scope — 클래스 컴포넌트의 유효 범위
Class scope — 클래스 컴포넌트의 유효 범위
객체지향을 쓰다 보면 클래스 안에서 선언한 필드나 메서드를 어디에서 참조할 수 있는지가 중요해져요. 클래스 컴포넌트 식별자가 유효한 위치를 정리할게요.
본문
클래스의 컴포넌트 목록에 있는 항목, 즉 컴포넌트 식별자는 다음 네 곳에서 유효해요:
- 선언된 지점부터 클래스 정의가 끝날 때까지
- 이 클래스의 **모든 파생 타입(descendent types)**에서 — 단, 그 컴포넌트가 클래스 선언의 private 부분에 있다면 예외예요.
- 이 클래스와 파생 클래스의 모든 메서드 선언 블록에서
- 해당 클래스 정의의 변수를 다루는
With문장 안에서
여기서 한 가지 기억할 점은 메서드 지정자(method designator)도 식별자로 취급된다는 거예요. 그래서 위 유효 범위 규칙이 메서드 이름에도 그대로 적용돼요.
더 알아보기
- Block scope — 블록 안에서의 변수 유효 범위
- Record scope — 레코드 필드 식별자의 유효 범위
- Unit scope — 유닛 인터페이스 식별자의 유효 범위