Declaration Access Can Be Weaker �˻�� ���� �ͺ��� �� ���� ���� ���Ѱ� �Բ� ����� �� �ִ� Ŭ���� ����� Ž���ϱ� ���� ���˴ϴ�.
�� �˻�� ���� �ɼ��� �����ϴ�:
Ŭ���� ����� ���� ��Ű�� ���� ���ü� ������ �����Ͻʽÿ�
|
���� �� üũ �ڽ��� ���õǸ� �˻�� ������ ������ Ŭ���� ����� ���� ��Ű�� ���� ���ü� ������ ������ ������ ���Դϴ�.

|
���� Ŭ���� �Ǵ� Ŭ���� ����� ��Ű�� ���� ���ü� ������ ���� �� ������ �� �������� �ʰ�(���� ���, �װ��� ��ȣ�� �������� ������
private �� �� ���� �����ϴ�) �� üũ �ڽ��� �Ұ����ϰ� �Ǹ�, �׷� Ŭ���� �Ǵ� Ŭ���� ����� Ʈ�� ���⿡ ��Ÿ���� ���� ���Դϴ�.
|
|
��Ű�� ���� ���ü� ������ �鷹���� Ŭ�������� �����Ͻʽÿ�
|
���� �� üũ �ڽ��� ���õǸ� �˻�� ��-������ Ŭ������ ���� ��Ű�� ���� ���ü� ������ ������ ������ ������ ������ ���Դϴ�.

|
���� Ŭ���� �Ǵ� Ŭ���� ����� ��Ű�� ���� ���ü� ������ ���� �� ������ �� �������� �ʰ�(���� ���, �װ��� ��ȣ�� �������� ������
private �� �� ���� �����ϴ�) �� üũ �ڽ��� �Ұ����ϰ� �Ǹ�, �׷� Ŭ���� �Ǵ� Ŭ���� ����� Ʈ�� ���⿡ ��Ÿ���� ���� ���Դϴ�.
|
|
���� �ܺ� Ŭ�����κ��� ������ �� ���� Ŭ���� ����� ���� private �� �����Ͻʽÿ�
|
���� �� üũ �ڽ��� ���õǸ� �˻�� �ٸ� Ŭ������ �ƴ� �ܺ� Ŭ�����κ��� ������ �����Ǵ� �� ���� Ŭ���� ����� �����ϴٸ� private���� ���� ���� ���� �� ���Դϴ�.
|
|
���� Declaration
Access Can Be Weaker üũ �ڽ��� ���õǰ� Inspection ��
� ������ ã�´ٸ�, Inspection �� ������� �� ���� ���� ������(���� ���, �ٸ� Ŭ���� �����κ��� �������� �ʴ� public ���)�� ���� �� �ִ� Ŭ������ Ŭ���� ����� �����ϴ�Access modifier ���� ǥ���մϴ�.
������ ������� ��ſ��� ��� �޼ҵ峪 �޼ҵ���� Ʈ�� ���⿡�� ���õ� �׸��� ���Ǿ��°��� �����ִ� �ΰ��� �ʵ带 �����ϴ�. �� �ʵ嵵 �޼ҵ尡 ��ġ�ϴ� ��Ű���� Ŭ���� �̸��� ǥ���մϴ�. �޼ҵ� �̸��� Ŭ���ϸ� ����� �������� �� �������� �׺����Ʈ �� ���̰�, �޼ҵ� �̸� ������ ij���� ��ġ�� ���Դϴ�.
�� Ʈ�� ���⿡�� �׸��� ������ ��ư�� Ŭ���ϴ� �Ϳ� ���� �Ҹ��� ���� �޴��� ��ſ��� ���� �ذ�μ� ���ȵ� ���� ������ ä���ϱ� ���� ������Ʈ �մϴ�.
���� ���, ���� Ŭ������ ����ϴ�:
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) �˻翡 ���� ��ũ�˴ϴ�.
|