• 클래스나 일부 멤버를 공개하여 다른 클래스에서 접근하도록 함
  • 객체 지향 언어의 캡슐화 정책은 멤버를 보호하는 것
    • 접근 지정자를 이용해 보호를 일부 해제
private 디폴트 protected public
외부로 부터 완벽히 차단 동일 패키지에 허용 동일 패키지와 자식클래스에 허용 모든 클래스에 허용

*패키지 : 관련 있는 클래스 파일을 저장하는 디렉토리, 자바 으용프로그램은 하나 이상의 패키지로 구성.

  • 클래스 접근 지정
    • 다른 클래스에서 사용하도록 허용할지 지정
    • public 클래스 : 다른 모든 클래스에게 접근 허용
    • 디폴트 클래스( package-private ) : 같은 패키지의 클래스에만 접근 허용
  • 멤버 접근 지정
    • public 멤버 : 패키지에 관계 없이 모든 클래스에서 접근 가능
    • private 멤버 : 동일 클래스에서만 접근 가능, 상속 받은 서브 클래스도 접근 불가
    • protected 멤버 : 같은 패키지 내의 다른 모든 클래스에서 접근 가능, 상속 받은 서브 클래스는 다른 패키지에 있어도 접근 가능
    • 디폴트(default) 멤버 : 같은 패키지 내의 다른 클래스에서 접근 가능
멤버에 접근하는 클래스 멤버의 접근 지정자
private 디폴트 protected public
같은 패키지의 클래스 X O O O
다른 패키지의 클래스 X X X O
접근 가능 영역 클래스 내 동일 패키지 내 동일 패키지와 자식 클래스 모든 클래스
public class Ex{
    Ex(){};//디폴트 생성자
    public Ex(int){};//public 생성자
    //생성자 없으면 클래스 접근 지정자 따라서 기본 생성자 생성
}

'JAVA' 카테고리의 다른 글

[Java.3-1] 상속 basic  (0) 2022.04.16
[Java.2-5] static 과 final  (0) 2022.04.15
[Java.2-3] 객체 소멸과 가비지  (0) 2022.04.15
[Java.2-2] 메소드  (0) 2022.04.15
[Java.2-1] 클래스 와 객체  (0) 2022.04.15

+ Recent posts