접근 제어자는 클래스와 클래스의 멤버의 가시성을 조절한다. 클래스와 멤버(필드와 메서드)의 가시성을 제어하여 데이터를 보호하거나 캡슐화에 사용된다.
접근 제어자 종류:
1. public: 아무 제한 없이 모든 곳에서 접근 가능하다.
2. protected: 같은 패키지나 다른 패키지의 상속받은 자식 클래스에서만 접근 가능하다.
3. default: 같은 패키지에서만 접근 가능하다.
4. private: 동일한 클래스에서만 접근 가능하다.
사용 가능한 위치:
public
, default
public
, protected
, default
, private
캡슐화:
private
으로 멤버 변수를 숨기고, public
메서드를 통해서만 접근하게 한다.Getter와 Setter:
private
필드에 접근하기 위해 사용된다.제어자의 조합:
public
, default
, final
, abstract
public
, protected
, default
, private
, final
, abstract
, static
public
, protected
, default
, private
, final
, static
final
주의:
static
과 abstract
동시 사용 불가능하다.abstract
와 final
동시에 클래스에 사용 불가능하다.abstract
메서드는 private
선언 불가능하다.private
메서드에 final
사용 불필요하다. 접근 제어자는 코드의 안전과 유지 보수에 도움을 준다.