3. 접근지정자( access modifier )
1) 용도: 클래스들간의 접근(참조)을 제한하는 방법.
2) 4가지 레벨
UML표기법 (+) (#) (-)
public protected (default) private
-----------------------------------------------------------------------------------------------
같은클래스인경우 : 가능 가능 가능 가능
같은패키지의 다른클래스: 가능 가능 가능 불가
다른패키지의 상속관계: 가능 가능 불가 불가
다른패키지의 다른클래스: 가능 불가 불가 불가
1. 같은패키지의 다른클래스
package exam14_접근지정자1_같은패키지;
public class Super {
// 같은패키지의 다른클래스
public int n1 = 10;
protected int n2 = 20;
int n3 = 30;
private int n4 = 40;
}
package exam14_접근지정자1_같은패키지;
public class Sub extends Super {
// 같은패키지의 다른클래스
private int m = 100;
public void info() {
System.out.println("public: " + n1);
System.out.println("protected: " + n2);
System.out.println("(default): " + n3);
// System.out.println("pritvate: " + n4); // 같은 클래스내에서만 가능
System.out.println("pritvate: " + m);
}
}
2. 다른패키지의 상속관계
package exam14_접근지정자2.parent;
public class Super2 {
// 다른패키지의 상속관계
public int n1 = 10;
protected int n2 = 20;
int n3 = 30;
private int n4 = 40;
}
package exam14_접근지정자2.child;
import exam14_접근지정자2.parent.Super2;
public class Sub2 extends Super2 {
// 다른패키지의 상속관계
private int m = 100;
public void info() {
System.out.println("public: " + n1);
System.out.println("protected: " + n2);
// System.out.println("(default): " + n3); // default 는 같은 패키지내에서만 가능
// System.out.println("pritvate: " + n4); // 같은 클래스내에서만 가능
System.out.println("pritvate: " + m);
}
}
'[study]이론정리 > JAVA(eclipse)' 카테고리의 다른 글
java 9일차 _ 04. 추상클래스(2) (0) | 2024.03.20 |
---|---|
java 9일차 _04. 추상클래스 (0) | 2024.03.20 |
java 9일차 _02. Object 의 toString( ) (0) | 2024.03.20 |
java 9일차 _01. 다형성 (0) | 2024.03.20 |
java 9일차 _ 8일차 리뷰 (0) | 2024.03.20 |