비디오: Java - 유효범위 (4/4) : this 2024
Java 응용 프로그램이 복잡 해짐에 따라 범위를 고려해야 할 필요성이 더욱 커졌습니다. 주된 이유는 범위 지정 규칙을 준수하지 않아 실수로 응용 프로그램에 버그가 생길 수 있기 때문입니다.
응용 프로그램에서 필드 나 다른 멤버가 잘못 사용 된 경우 (예: 잘못된 데이터 값을 추가하거나 잘못된 시간 또는 잘못된 데이터 포함) 또한 잘못된 범위 지정은 외부인이 예상치 못한 방식 (예: 바이러스)으로 응용 프로그램과 상호 작용할 수 있도록 문을 열어 둘 수 있습니다.
기본 범위는 특별히 클래스 요소에 범위를 지정하지 않은 경우에 발생합니다. 많은 Java 개발자는 일부 요소에 대해 기본 범위가 무엇인지 모르기 때문에 (기본 범위를 사용하면 코드가 문서화되지 않았다는 것을 의미합니다), 매우 자주 사용되지는 않습니다.
o 일부 Java 개발자가 여러 요소에 의존하기 때문에 다양한 요소에 대한 기본 범위가 무엇인지 알 수 있습니다. 그러나 기본 범위를 이해하기 전에 어떤 응용 프로그램 요소가 구성원을 볼 수 있는지를 나타내는 가시성 을 고려해야합니다. Java는 다음 수준의 가시성을 제공합니다 (일반적으로 캡슐화 순서대로).
-
패키지: 여러 클래스를 보유하는 데 사용되는 컨테이너. 이 책의 예제처럼 간단한 디렉토리 구조로 작업 할 때 패키지는 여러 개의 디렉토리가있는 디렉토리입니다. 클래스 파일.
-
Class: 클래스는 대개 하나의 클래스에 있습니다. 자바 파일을 컴파일합니다. 클래스 파일. 단일 클래스 선언을 포함합니다. 방법:
-
요소는 클래스에 있거나 메소드의 일부로 존재할 수 있습니다. 이 메소드는 요소를 보유하는 컨테이너 역할을합니다.
-
요소는 for 루프와 같은 코드 블록 내에 상주 할 수 있습니다. 범위는 요소를 선언하는 데 사용 된 위치에 부분적으로 의존합니다. 예를 들어, 블록 내에서 정의 된 변수 (예: for 루프)는 해당 블록 내에서만 볼 수 있습니다. 변수를 블록 외부에서 사용하려고하면 Java가 예외를 표시합니다. 이 표는 가시성을 고려하여 Java 환경 내의 다양한 범위의 범위를 설명합니다.
공개 클래스
X | X | 클래스에서 액세스 가능 | Java Scoping Rules | X |
---|---|---|---|---|
패키지에서 액세스 가능 | X | X | X | 모든 하위 클래스에서 액세스 가능 |
X | X | 어디서나 액세스 가능 | X | |
기본 범위가 사물의 계획에 어떻게 적용되는지를 보여줍니다. 예를 들어, 기본 범위를 사용하여 메서드를 선언하면 모든 패키지가 동일한 패키지에있는 한 해당 메서드를 사용할 수 있습니다.또한 메서드가 포함 된 클래스에서 상속하는 클래스를 만드는 경우 하위 클래스는 동일한 패키지에있는 한 메서드를 사용할 수 있습니다. | 하지만 현재 패키지 외부에 하위 클래스가 있으면이 메서드를 사용할 수 없습니다. 즉, 기본 범위는 보호 된 범위보다 조금 제한적이지만 개인 범위보다 덜 제한적입니다. |