클래스 이름 : public, (default) 접근 제어자만 사용 가능
클래스 멤버 : 4가지 전부 사용 가능
예제 - MyParent.java 파일
package pkg1;
public class MyParent{
private int prv; // 같은 클래스
int dft; // 같은 패키지
protected int prt; // 같은 패키지 + 자손(다른 패키지)
public int pub; // 접근제한 없음.
public void printMembers() {
System.out.println(prv); // OK
System.out.println(dft); // OK
System.out.println(prt); // OK
System.out.println(pub); // OK
}
}
class MyParentTest {
public static void main(String[] args) {
MyParent m = new MyParent();
// System.out.println(m.prv); // 에러
System.out.println(m.dft); // OK
System.out.println(m.prt); // OK
System.out.println(m.pub); // OK
}
}
예제 - MyParentTest2.java 파일
package pkg2;
import pkg1.MyParent; // ctrl + shift + o
class MyChild extends MyParent{
public void printMembers() {
// System.out.println(prv); // 에러
// System.out.println(dft); // 에러
System.out.println(prt); // OK
System.out.println(pub); // OK
}
}
public class MyParentTest2 {
public static void main(String[] args) {
MyParent p = new MyParent();
// System.out.println(p.prv); // 에러
// System.out.println(p.dft); // 에러
// System.out.println(p.prt); // 에러
System.out.println(p.pub); // OK
}
}