카테고리 없음
#14 접근제어자
오늘의 진
2022. 7. 14. 12:09
접근제어자 (접근 지정자 , Access Modifier)
객체지향 프로그래밍은 캡슐화가 중요하다.
클래스 외부에서 클래스 내부로 쉽게 접근하지 못하게 함으로써 클래스 정보를 보호할 수 있다.
이 처럼 클래스와 클래스의 맴버(변수, 메서드)에 접근 정도를 지정할 때 사용하는 것이 접근제어자이다.
자바에서 많이 사용하는 접근제어자는 아래와 같다.
수정자 | 클래스내부 | 같은패키지 | 서브 클래스 | 다른 패키지의 클래스 |
public | O | O | O | O |
protected | O | O | O | X |
( default ) | O | O | X | X |
private | O | X | X | X |
(예시) - 멤버 변수에 직접 접근하지 못하도록 막음. 필요시 getter, setter 만들어서 이용
class A_1 {
// 맴버 변수
private int x = 10;
private int y = 30;
public int add() {
return (x + y);
}
}
public class Test_B {
public static void main(String[] args) {
A_1 obj = new A_1();
// obj.x = 55;
// obj.y = 77;
// System.out.println(" x: "+obj.x);
// System.out.println(" y: "+obj.y);
//x ,y 는 private이므로 다른 class에서 직접 접근 불가능.
System.out.println(" (x+y) = " + obj.add());
}
}