|
Declaration Access Can Be Weaker 검사는 기존 것보다 더 약한 접근 권한과 함께 선언될 수 있는 클래스 멤버를 탐색하기 위해 사용됩니다.
이 검사는 다음 옵션을 가집니다:
|
클래스 멤버에 대한 패키지 로컬 가시성 레벨을 제안하십시오
|
|
만일 이 체크 박스가 선택되면 검사는 가능한 곳에서 클래스 멤버에 대한 패키지 로컬 가시성 레벨을 적용할 작정일 것입니다.
|

|
만일 클래스 또는 클래스 멤버가 패키지 로컬 가시성 레벨을 가질 수 있지만 더 엄밀하지 않고(예를 들면, 그것은 보호된 변경자를 가지만
private 이 될 수는 없습니다) 이 체크 박스가 불가능하게 되면, 그런 클래스 또는 클래스 멤버는 트리 보기에 나타나지 않을 것입니다.
|
|
|
패키지 로컬 가시성 레벨을 톱레벨의 클래스에게 제안하십시오
|
|
만일 이 체크 박스가 선택되면 검사는 톱-레벨의 클래스를 위해 패키지 로컬 가시성 레벨을 가능한 곳에서 적용할 작정일 것입니다.
|

|
만일 클래스 또는 클래스 멤버가 패키지 로컬 가시성 레벨을 가질 수 있지만 더 엄밀하지 않고(예를 들면, 그것은 보호된 변경자를 가지만
private 이 될 수는 없습니다) 이 체크 박스가 불가능하게 되면, 그런 클래스 또는 클래스 멤버는 트리 보기에 나타나지 않을 것입니다.
|
|
|
오직 외부 클래스로부터 참조될 때 내부 클래스 멤버에 대한 private 을 제안하십시오
|
|
만일 이 체크 박스가 선택되면 검사는 다른 클래스가 아닌 외부 클래스로부터 오로지 참조되는 그 내부 클래스 멤버를 가능하다면 private으로 만들 것을 제안 할 것입니다.
|
|
만일 Declaration
Access Can Be Weaker 체크 박스가 선택되고 Inspection 이
어떤 문제를 찾는다면, Inspection 툴 윈도우는 더 약한 접근 변경자(예를 들면, 다른 클래스 등으로부터 참조하지 않는 public 멤버)를 가질 수 있는 클래스와 클래스 멤버를 포함하는Access modifier 탭을 표시합니다.
브라우저 윈도우는 당신에게 어는 메소드나 메소드들이 트리 보기에서 선택된 항목이 사용되었는가를 보여주는 부가의 필드를 가집니다. 이 필드도 메소드가 위치하는 패키지와 클래스 이름을 표시합니다. 메소드 이름을 클릭하면 당신은 에디터의 그 선언으로 네비게이트 할 것이고, 메소드 이름 위에서 캐럿을 배치할 것입니다.
탭 트리 보기에서 항목을 오른쪽 버튼을 클릭하는 것에 의해 불리는 문맥 메뉴는 당신에게 문제 해결로서 제안된 접근 수준을 채택하기 위해 프롬프트 합니다.
예를 들면, 다음 클래스를 잡습니다:
package aPackage;
public class AClass {
public void methodA(){
//some code here
}
public void methodB(){
//some code here
}
public static void main(String[] args) {
AClass aClass = new AClass();
aClass.methodB();
}
}
이전의 클래스의 methodB() 를 사용하고 있는 다른 패키지의 또 다른 클래스.
package aPackageTwo;
import aPackage.AClass;
public class AClassTwo {
void methodInTwo(){
AClass aClass = new AClass();
aClass.methodA();
}
}
Inspection 이 AClass 에 적용되고 난 후에, 다음의 툴 윈도우가 나타날 것입니다.

public으로서 선언된 methodB() 는 다른 클래스/패키지로부터 절대 불려지지 않고 (그러므로) 선언이 더 약해질 수 있는(이 경우에 private) 검사에 의해 마크됩니다.
|