package ch07_accessA;
/*
* 접근 제한자
* → 다른 class 에서 class 또는 class 멤버의 접근을 허용할 지 결정.
* > public : 모든 class 에서 접근 가능.
* protected : 같은 package, 상속받은 하위 class에서 접근 가능.
* default : 같은 package 내에서만 접근 가능.
* private : class 안에서만 접근 가능.
*
* class 내부 같은 package 하위 class 다른 package
* public O O O O
* protected O O O X
* default O O X X
* private O X X X
*/
public class AreaOne {
public static void main(String[] args) {
First f1 = new First();
f1.pubData = 1;
f1.proData = 2;
f1.defData = 3;
//f1.priData = 4; Error
f1.defaultMethod();
f1.publicMethod();
System.out.println();
Second s1 = new Second();
s1.pubData = 1;
s1.proData = 2;
s1.defData = 3;
//s1.priData = 4; Error
s1.defaultMethod();
s1.publicMethod();
}
}
package ch07_accessA;
public class First {
public int pubData;
protected int proData;
int defData;
private int priData;
void defaultMethod() {}
public void publicMethod() {}
}
package ch07_accessA;
class Second {
public int pubData;
protected int proData;
int defData;
private int priData;
void defaultMethod() {}
public void publicMethod() {}
}