[java] 상위 클래스와 하위 클래스의 멤버 접근 제한

자바에서는 클래스의 멤버(필드, 메서드)에 대한 접근 제한자를 사용하여 외부에서의 접근을 제어할 수 있습니다. 이러한 접근 제한자를 통해 상위 클래스와 하위 클래스 간의 멤버 접근에 대한 규칙을 이해할 수 있습니다.

멤버 접근 제한자

자바에서는 다음과 같은 네 가지의 멤버 접근 제한자를 제공합니다.

상속 관계에서의 멤버 접근

상속 관계에서는 상위 클래스의 멤버를 하위 클래스에서 상속받아 사용할 수 있습니다. 이때, 각 멤버의 접근 제한자에 따라 다음과 같은 규칙이 적용됩니다.

이를 통해, 상속 관계에서 각 멤버의 접근 제한자에 따라 상위 클래스의 멤버를 안전하게 활용할 수 있습니다.

예시

public class Superclass {
    public int publicField;
    protected int protectedField;
    int defaultField;
    private int privateField;
}

public class Subclass extends Superclass {
    // 상위 클래스의 public, protected 필드에 접근 가능
    public void accessFields() {
        publicField = 10;
        protectedField = 10;
        // defaultField에는 접근 불가능
        // privateField에는 접근 불가능
    }
}

결론

자바에서는 상속 관계에서 상위 클래스의 멤버에 대한 접근 제한을 효과적으로 관리할 수 있습니다. 각 멤버의 접근 제한자를 적절히 활용하여 클래스 간의 관계를 명확히 정의하고, 안전하게 멤버를 활용할 수 있습니다.

참고 문헌: Oracle Java Documentation