자바에는 접근 단계 4개와 접근 변경자 3개가 있다. 기본 접근 단계(아무 변경자도 쓰지 않았을 경우의 접근 단계)도 하나의 접근 단계기 때무에 변경자는 3개 밖에 없다.
접근단계 (제한이 적은것에서 제한이 심한 순서대로)
public
protected
defualt
private
public
public으로 지정된 것(클래스, 변수, 메소드, 생성자 등)은 어디에 있는 어떤 코드에서도 접근할 수 있다.
protected
protected는 default하고 거의 똑같다.(같은 패캐지에 있는 코드에서 접근할 수 있다. 하지만 다른 패키지에 속하는 하위클래스에서도 상속할 수 있다는 차이점이 있다.
default
기본 접근 단계에서는 그 클래스와 같은 패키지에 들어 있는 클래스에서만 접근할 수 있는것을 의미한다.
private
prviate은 같은 클래스에 있는 코드에서만 접근할 수 있는 것을 의미한다. 이 때 어떤 클래스 내에서 private으로 선언되었다는 것이 그 객체에서만 사용할 수 있다는 것을 의미하지 않는다는 점을 주의해야한다. 예를 들어 어떤 Dog 객체에 들어 있는 private으로 지정된 것을 다른 Dog 객체에서는 볼 수 있지만, Cat. 객체에서느 볼 수 없다.
접근 변경자
public
protected
private
대부분의 경우 public과 private 접근 단계만 사용하면 된다.
public
다른 코드에서 사용할 수 있는 클래스, 상수(static final 변수), 메소드(setter, getter등), 그리고 대부분의 생성자는 public으로 지정하면 된다.
private
거의 모든 인스턴스 변수, 그리고 외부에서 호출하면 안되는 메소드 (public으로 지정된 메소드에서 사용하기 위한 용도로 만들어진 메소드)는 private으로 지정하면 된다.
출처 : HeadFirst 자바
'Programming > Java' 카테고리의 다른 글
[JAVA] protected 접근 단계 (0) | 2020.04.01 |
---|---|
[JAVA] char datatype ascii code 아스키코드 (0) | 2020.03.28 |
[JAVA] Math Method (0) | 2020.03.27 |