public:
해당 멤버는 어떤 클래스에서도 접근이 가능합니다.
일반적으로 메소드나 변수를 외부에서 자유롭게 사용하게 하고 싶을 때 사용됩니다.
private:
해당 멤버는 오직 그 멤버를 포함하는 클래스 내부에서만 접근이 가능합니다.
클래스의 내부 동작 방식을 숨기고 싶을 때 사용되어, 클래스의 캡슐화를 강화합니다.
protected:
해당 멤버는 해당 클래스 및 동일한 패키지의 클래스와 해당 클래스의 서브 클래스에서만 접근이 가능합니다.
일반적으로 서브 클래스에서만 접근해야 하는 멤버에 사용됩니다.
접근 제한자를 사용하지 않은 경우 (default):
해당 멤버는 같은 패키지 내의 다른 클래스에서 접근이 가능합니다.
다른 패키지의 클래스에서는 접근이 불가능합니다.