Java

[Java] 접근 제어자 public, private, protected, default 는 무엇인가?

고인돌개발자 2021. 4. 18. 23:21
  • Public
     - class : 어디서나 접근가능
     - method : 해당 객체에 접근 가능하면, 누구나 사용 가능
     - 멤버변수 : 해당 객체에 접근 가능하면, 누구나 사용 가능

  • Protected (최상위 클래스 선언 불가)
    - class : 같은 패키지에 속해있는 클래스에서 호출 가능,
               다른 패키지에서는 상속을 받을 경우 사용 가능 (inner class 만 선언가능)
               - 단, 최상위 클래스는 protected 사용 불가           
    - method : 해당 객체에 접근 가능한 
    - 멤버변수 : 상속받은 곳에서만 접근 함

Private
- class : 해당 클래스만 사용 가능, 동일패키지도 접근 불가 (inner class 만 선업가능)
           단, 최상위 클래스는 private 사용 불가
           (최상위 클래스가 private 이면 아무데도 사용 못해서 , 쓸모가 없음 )

- method : 내 클래스만 나를 사용 한다.
- 멤버변수 : 내 클래스만 사용 가능

Default 
- class : 내 패키지 내에서 접근 가능

* 표정리 

구분 선언 Class 클래스 내부 동일패키지 다른 패키지 상속
public O O O O O
private X O X X X
default O O O X 동일패키지 (O)
다른패키지 (X)
protected X O O X O

** 관련 자료 정보 

 

* Sample Source : GitHub\Self_Study\workspace\Java_Test (패키지 - acess_modifier) (개인자료)

 

* 참고 블로그 자료 : hunit.tistory.com/162

 

자바(Java)〃접근 제한자 private/ protected/ public / default

      이번 포스팅에서는 자바에서 사용되는 필드와 메소드등을 보호하는 보안과 관련된 접근 제한자에 대해 정리할 시간입니다. 접근 제한자는 모든 접근을 허용하는 public부터 시작해서 차

hunit.tistory.com

* 참고 유투브 자료 : www.youtube.com/watch?v=1lTYefn0xes&list=PL35MP55tDC5zMeWcDvIAn4h0Twc1DX_Xg&index=33

'Java' 카테고리의 다른 글

[Interface] 인터페이스에 대한 수준낮은 고찰  (0) 2021.04.28
Abstract vs Interface  (0) 2021.04.24
[JAVA] Servlet , Beans 차이가 뭔가?  (4) 2021.04.21
[JAVA] Collection & Map  (0) 2021.04.19
[Java ] static & final  (0) 2021.04.18