웹개발/Java & Jsp
[Java] 접근 제어자 public, protected, private
kmhan
2020. 8. 22. 19:39
728x90
반응형
1. public
- 모든 클래스에 의해 접근 가능
2. protected
- 동일 패키지와 (동일 패키지가 아니더라도) 하위 클래스 관계에 있는 클래스 접근 가능
3. (default)
- (접근 제어자를 지정하지 않은 경우에 해당되며,) 동일한 패키지에 속하는 클래스만 접근 가능
예시 : B 클래스와 A1,A2 클래스가 다른 패키지인 경우
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
public class B {
protected int protectedVariable;
protected void protectedInstanceMethod_B() { }
protected static void protectedInstanceMethod_B() { }
}
public class A1 extends B {
void a1_func() {
A1 a1 = new A1();
B b = new B();
a1.protectedInstanceMethod_B(); // OK
b.protectedInstanceMethod_B(); // 컴파일 에러
}
}
public class A2 extends A1 {
void a2_func() {
B b = new B();
A1 a1 = new A1();
A2 a2 = new A2();
a2.protectedInstanceMethod_B(); // OK
a1.protectedInstanceMethod_B(); // 컴파일 에러
b.protectedInstanceMethod_B(); // 컴파일 에러
}
}
|
cs |
예시 출처 : https://velog.io/@hwhyeons/Java-protected-접근제어자의-실제-접근-가능-범위
4. private
- 자기 자신 클래스 내에서만 접근 가능
728x90
반응형