-
접근제한자(public/protected/default/private)개발/자바JAVA 2024. 1. 26. 13:57
(+)public : 어디서든(같은, 다른 패키지 모두) 접근 가능하도록 한다.
(#)protected : 같은패키지의 클래스라면 무조건 접근 가능하고,
추가적으로 다른패키지의 클래스면
"상속" 구조인 클래스에서만 접근 가능하도록 한다.
(~)default : 같은패키지의 클래스 끼리만 접근 가능하도록 한다.
(-)private : 해당 클래스에서만 접근 가능하도록 한다.
>위에서부터 아래 순으로 직접 접근할 수 있는 범위가 좁아진다.
> +, # ~, - : 클래스 다이어그램상의 표기이다.
테스트를 위해 각 제한자를 만들어준다.
얘들을 다른 패키지의 클래스에서 호출해 보겠다.
다른패키지 이다.
>public : 어디서든 직접접근 가능
얘는 이렇게 곧바로 접근이 가능하다.
>protected : 같은 패키지에서는 직접접근 가능, 다른패키지에서는 직접접근 불가.
단, 상속관계에서는 접근 가능!!
protected는 바로 접근하려니 빨간오류줄이 뜬다.
같은 패키지에 Test클래스를 만들어서 호출해 보았다.
같은 패키지에서는 접근이 가능하다.
>default : 같은 패키지 끼리만 접근 가능하고, 상속관계도 안됨!!
얘도 빨간줄이 뜬다.
하지만 얘도 같은 패키지에서는 접근이 가능하다.
>private : 해당 클래스 영역 내에서만 접근 가능
얘도 마찬가지로 오류가 뜬다.
이친구는 getter/ setter를 이용해서 불러와야한다.
'개발 > 자바JAVA' 카테고리의 다른 글
메소드(Method) / 오버로딩(Overloading) (1) 2024.01.29 생성자(Constructor) (0) 2024.01.26 변수의 구분(전역변수/지역변수/매개변수)/ static / 상수필드 (1) 2024.01.26 객체 지향 언어 (1) 2024.01.25 배열 복사 (0) 2024.01.24