카테고리 없음

#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());

	}

}