JAVA 자바에서 접근 지정자(=접근 권한자)는 외부에서 필요로하는 클래스를 불러올때 사용하는 지정자를 의미한다.
접근지정자는 아무 말이없다면 멤버변수 또는 메소드에 부여를 한다.
1. private 접근 지정자
같은 패키지(=폴더) 에서는 접근이 불가한다. 그리고 다른 패키지에서도 접근이 안된다.
접근이 가능한 유일한 범위는 자기 클래스 내에서만 사용이 가능한것이다.
2. (default) 접근 지정자
- 같은 패키지에 있는 클래스들 끼리 접근 가능
- 자기 클래스내에서도 접근 가능
- 다른 패키지에 있는 클래스 접근 금지
- 다른 패키지에 있는 상속받은 자식클래스의 객체를 통해서도 접근이 불가능
default 권한 -> 멤버변수와 메소드 앞에 아무것도 접근 지정자를 부여하지 않음
3. protected 접근 지정자
- 같은 패키지에 있는 클래스들끼리 접근 가능
- 자기 클래스내에서도 접근 가능
- 다른 패키지에 있는 클래스 접근 금지
- 다른 패키지에 있는 상속받은 자식클래스의 객체를 통해서도 접근이 가능
4. public 접근 지정자
- 같은 패키지에 있는 클래스들기리 접근 가능
- 자기 클래스내에서도 접근 가능
- 다른 패키지에 있는 클래스에도 접근 가능
- 다른 패키지에 있는 상속 받은 자식 클래스의 객체를 통해서도 접근이 가능
하지만, 예외가 있다. 접근지정자가 멤버변수, 메소드에게만 부여하는것이 아니다. 클래스 앞에도 접근 지정자를 부여할 수가 있다.
public class A로 작성한다는 전제조건 => 제한없이 다 사용이 가능
내부 패키지의 클래스도 접근 (O) + 외부 패키지의 클래스도 (O)
class A로 작성 => 내부 패키지의 클래스도 접근(O)
외부 패키지의 클래스는 (X)
즉 접근 권한자의 범위 순위는
private < default < protected < public
로 이해하면된다.
'JAVA-Spring > 캡슐화' 카테고리의 다른 글
JAVA 자바 [ 객체 지향 프로그래밍 ] 생성자 (0) | 2019.07.16 |
---|---|
JAVA 자바 [ 객체 지향 프로그래밍 ] 제 2장 캡슐화 (0) | 2019.07.15 |
댓글