티스토리 뷰
메소드, 변수 접근 제어자
같은 클래스 | 같은 패키지 (다른 클래스) |
다른 패키지 | 다른 패키지 상속 관계 O |
다른 패키지 상속관계 X |
|
public | O | O | O | O | O |
protected | O | O | X | O | X |
default (또는 명시 X) |
O | O | X | X | X |
private | O | X | X | X | X |
protected 예제
package1
package package1;
class ExamplePackage1 {
protected void methodProtected() {
System.out.println("methodProtected");
}
}
package2
- ExamplePackage1을 상속받지 않았기 때문에 사용 불가능
package package2;
import package1.ExamplePackage1;
class ExamplePackage2 {
public static void main(String[] args) {
ExamplePackage1 example1 = new ExamplePackage1();
// example1.methodProtected(); // 사용 불가
}
}
- ExamplePackage1을 상속받았기 때문에 사용 가능
package package2;
import package1.ExamplePackage1;
class Example2 extends ExamplePackage1 {
public static void main(String[] args) {
Example2 example2 = new Example2();
Example2.methodProtected(); // 상속 받았기 때문에 사용가능
}
}
클래스 접근 제어자
다른 패키지 | |
public | O |
default (또는 명시 X) |
X |
package1
package package1;
public class Example1 {
// public 클래스
}
package package1;
class Example2 {
// default 클래스
}
package2
package package2;
import package1.Example1; // 사용 가능
// import package1.Example2; // 사용 불가능
public class ExamplePackage2 {
public static void main(String[] args) {
Example1 example1 = new Example(); // 생성 가능
}
}
반응형
'Backend > JAVA' 카테고리의 다른 글
JAVA 생성자(Constructor) (0) | 2023.07.06 |
---|---|
JAVA 클래스 인스턴스 예제 (0) | 2023.07.04 |
댓글
반응형
최근에 올라온 글
공지사항