Java/Java Concept

[Java] 접근제어 지시자

군우 2018. 1. 16. 13:50

private


인스턴스의 변수가 private로 선언이되면, 해당변수가 선언된 클래스 외부에서는 접근이 불가 능하다.


public

어디서든 접근 가능한 인스턴스 변수 및 메소드가 된다.

하지만,

1. 하나의 소스 파일에는  하나의 클래스만 public으로 할 수 있다

2. public클래스의 이름과 소스파일의 이름은 와전히 일치 해야한다.



default

인스턴스 변수와 인스턴스 메소드에는 아무런 접근제어 지시자를 선언하지 않을 수도 있는데 디폴트 선언 이라고한다, default로 선언된 인스턴스 변수 및 인스턴스 메소드는 동일 패키지 내에서의 접근을 허용한다.


protected

default + 상속 받은 클래스에서 접근 가능하다.ㅁ


private : 클래스 내부에서 접근가능.

default: 클래스 내부, 동일 패키지에서 접근 가능.

protected: 클래스내부, 동일 패키지, 상속받은 클래스 접근 가능.

public: 클래스 내부, 동일 패키지, 상속받은 클래스, 이외의 영역에서 접근 가능.



동일 패키지에서 접근 가능하다는 말은


상속 관계가 아닌 클래스 끼리도 접근이 가능하다는 것이다.