본문 바로가기

발견 discovery

자바 (Java) - public, protected, default, private

자바 (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.

최근삼개월 오늘은인기Twenty - 베스트


최근영개월 오늘은추천Twenty - 추천추천


최근영개월 오늘은주요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.

000.

오늘은 블로그를 방문해 주셔서 감사합니다.

오늘은 블로그 (http://www.s740abcdefg.com/)는, PC에서 더 많은 기능과 정보를 제공합니다. 감사합니다.