자바 (Java)에는 접근 단계 네 개와 접근 변경자 세 개가 있다. 기본 접근 단계 (default, 아무 변경자도 쓰지 않았을 경우의 접근 단계)도 접근 단계이기 때문에 접근 단계는 네 개, 접근 변경자는 세 개다.
접근 단계
public > protected > no modifier or default > private
public
Class - Y / Package - Y / Subclass - Y / World - Y
public으로 지정된 것 (클래스, 변수, 메소드, 생정자 등)은 어디에 있는 어떤 코드에서도 접근할 수 있다. 다른 코드에서 사용할 수 있는 클래스, 상수 (static, final 변수), 메소드 (세터나 게터 등), 그리고 대부분의 생성자는 public으로 지정하면 된다
protected
Class - Y / Package - Y / Subclass - Y / World - N
protected는 default하고 거의 똑같다. 같은 패키지에 있는 코드에서 접근할 수 있다. 하지만 다른 패키지에 속하는 하위클래스에서도 상속할 수 있다는 차이점이 있다
no modifier or default
Class - Y / Package - Y / Subclass - N / World - N
기본 접근 단계는 그 클래스와 같은 패키지에 들어있는 클래스에서만 접근할 수 있다
private
Class - Y / Package - N / Subclass - N / World - N
private는 같은 클래스에 있는 코드에서만 접근할 수 있다. 이때 어떤 클래스 내에서 private로 선언되었다는 것이 그 객체에서만 사용할 수 있다는 것을 의미하진 않는다는 점에 주의해야 한다. 어떤 Dog 객체에 들어있는 private로 지정된 것을 다른 Dog객체에서는 볼 수 있지만 Cat 객체에서는 볼 수 없다.
***
대부분의 경우에는 public과 private 접근 단계를 사용한다
protected 접근 단계는 다른 접근 단계와는 달리 상속에만 적용된다는 특징이 있다. 상위클래스 레퍼런스를 써서 protected로 지정된 메소드를 사용할 수 없으며, 하위클래스에서 그 메소드를 사용하려면 반드시 상속해서 써야만 한다
source
https://docs.oracle.com/javase/tutorial/java/javaOO/accesscontrol.html
Head First Java: 뇌 회로를 자극하는 자바 학습법 (개정판) 701, 702p - 케이시 시에라 , 버트 베이츠 저
오늘은 추천 페이지 건너뛰기
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
최근영개월 오늘은주요Forty - 다좋아하지만 그중에서좀더좋아하는
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
000.
오늘은 블로그를 방문해 주셔서 감사합니다.
오늘은 블로그 (http://www.s740abcdefg.com/)는, PC에서 더 많은 기능과 정보를 제공합니다. 감사합니다.
'발견 discovery' 카테고리의 다른 글
안드로이드 (Android) - 액티비티 스택 확인하기 (0) | 2017.06.13 |
---|---|
안드로이드 (Android) - onDowngrade (0) | 2017.02.28 |
자바 (Java) - 삼항연산자 (0) | 2017.02.23 |
안드로이드 (Android) - 현재 Context 제공 방법 (this) (0) | 2017.02.20 |
안드로이드 (Android) - @+id ... (0) | 2017.02.20 |
안드로이드 (Android) - onClick, OnClickListener (0) | 2017.02.18 |
USB 디버깅 설정이 있는 개발자 옵션 활성화 방법 (0) | 2017.02.07 |
맥북 (MacBook) - 한영전환 방법, 시동디스크 변경, 시동음 끄기 (0) | 2017.02.07 |
호텔 직원들이 말하지 않는 8가지 비밀 (1) | 2017.01.31 |
여자가 남자와 자는 21가지 이유 (0) | 2017.01.30 |