접근 제어자란?

접근 제어자는 클래스 멤버 (변수, 메서드)의 접근 권한을 제어하는 키워드입니다

Java에서는 크게 네 가지의 접근 제어자가 있습니다

 

  • public: 어떤 클래스에서든 접근 가능
  • protected: 같은 패키지 내에서 그리고 해당 클래스를 상속받은 외부 패키지의 클래스에서 접근 가능
  • default (package-private): 같은 패키지 내에서만 접근 가능 (접근 제어자를 명시하지 않은 경우 기본 값)
  • private: 같은 클래스 내에서만 접근 가능

 

각 접근 제어자의 활용

1. public

 

public class PublicExample {
    public int publicVariable;
    
    public void publicMethod() {
        // 메서드 내용
    }
}

 

다른 패키지의 클래스에서도 접근 가능한 공개된 멤버입니다

 

2. protected

 

public class ProtectedExample {
    protected int protectedVariable;
    
    protected void protectedMethod() {
        // 메서드 내용
    }
}

 

상속 관계에 있는 클래스에서도 접근 가능하며, 같은 패키지에서도 접근 가능합니다

 

3. dafault (package-private)

 

class DefaultExample {
    int defaultVariable;
    
    void defaultMethod() {
        // 메서드 내용
    }
}

 

접근 제어자를 명시하지 않으면 기본적으로 같은 패키지에서만 접근 가능한 멤버가 됩니다

 

4. private

 

public class PrivateExample {
    private int privateVariable;
    
    private void privateMethod() {
        // 메서드 내용
    }
}

 

같은 클래스 내에서만 접근 가능한 멤버로, 외부 클래스에서 직접 접근할 수 없습니다

 

접근 제어자의 선택 기준

적절한 접근 제어자를 선택하는 것은 클래스의 캡슐화를 지원하고 유지보수성을 높이는 데 중요합니다

항상 가장 낮은 접근 권한을 사용하는 것이 좋으며, 필요한 경우에만 더 높은 접근 권한을 허용하는 것이 좋습니다

 

접근 제어자는 프로그램의 보안성과 모듈성을 강화하는 데 중요한 역할을 합니다

올바르게 사용하면 코드의 유지보수성을 향상시킬 수 있습니다

 

+ Recent posts