접근 제한자는 프로그래밍 언어에서 클래스의 멤버 변수 또는 메서드에 대한 접근 권한을 지정하는 데 사용되는 키워드입니다.
이를 통해 코드의 캡슐화(encapsulation)와 정보 은닉(information hiding) 등을 관리할 수 있습니다.
접근 범위:
public: 가장 넓은 범위로 어떤 클래스든 접근 가능합니다.
protected: 동일 패키지 내에서는 모두 접근 가능하고, 상속받은 서브클래스에서도 접근 가능합니다.
default: 패키지 내에서만 접근 가능합니다.
private: 해당 클래스 내에서만 접근 가능합니다.
캡슐화 및 정보 은닉:
public: 외부에서 자유롭게 접근 가능하므로 정보 은닉 측면에서 취약합니다.
protected, default, private: 캡슐화를 강화하고 정보 은닉을 가능하게 합니다.
public, protected: 상속을 통해 다른 클래스에서 재사용이 가능하며, 확장성이 높습니다.
default, private: 상속을 통한 재사용이 제한적이며, 확장성이 낮습니다.
접근 제한자 사용은 코드의 가독성, 유지보수성, 안정성을 향상시키는 데 도움이 됩니다.