- public
- 가장 넓은 접근 범위를 제공합니다.
- 어떤 클래스에서든지 접근할 수 있습니다.
- 클래스, 메소드, 변수에 사용될 수 있습니다.
- protected
- public보다는 좁은 접근 범위를 가집니다.
- 같은 패키지 내의 클래스들 또는 다른 패키지의 서브 클래스에서 접근할 수 있습니다.
- 주로 상속받은 클래스가 부모 클래스의 멤버에 접근할 필요가 있을 때 사용됩니다.
- default (접근 제어자를 명시하지 않음)
- protected보다 더 좁은 접근 범위를 가집니다.
- 같은 패키지 내의 클래스들만 접근할 수 있습니다.
- 패키지 내부에서만 사용되는 클래스나 멤버에 적용됩니다.
- private
- 가장 제한적인 접근 범위를 제공합니다.
- 오직 선언된 클래스 내부에서만 접근할 수 있습니다.
- 클래스의 내부 구현을 숨기고, 외부에서의 접근을 막을 때 사용됩니다.
추가 설명
- static
- static은 접근 범위와는 직접적인 관련이 없습니다. static 키워드는 멤버가 클래스에 속하며, 모든 인스턴스가 공유한다는 것을 의미합니다. public, protected, default, private 접근 제어자와 함께 사용될 수 있어, 해당 멤버의 접근 범위를 결정합니다.
댓글