접근 제어자란?
접근 제어자는 클래스 멤버 (변수, 메서드)의 접근 권한을 제어하는 키워드입니다
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() {
// 메서드 내용
}
}
같은 클래스 내에서만 접근 가능한 멤버로, 외부 클래스에서 직접 접근할 수 없습니다
접근 제어자의 선택 기준
적절한 접근 제어자를 선택하는 것은 클래스의 캡슐화를 지원하고 유지보수성을 높이는 데 중요합니다
항상 가장 낮은 접근 권한을 사용하는 것이 좋으며, 필요한 경우에만 더 높은 접근 권한을 허용하는 것이 좋습니다
접근 제어자는 프로그램의 보안성과 모듈성을 강화하는 데 중요한 역할을 합니다
올바르게 사용하면 코드의 유지보수성을 향상시킬 수 있습니다
'-- Language -- > Java' 카테고리의 다른 글
[JAVA 빌드 툴] build.gradle이란? (0) | 2024.04.24 |
---|---|
[JAVA] POJO(Plain Old Java Object)란? (3) | 2024.03.12 |
[JAVA] Java Doc 주석 (0) | 2023.12.15 |
[JAVA] 인터페이스와 추상 클래스의 차이 (0) | 2023.12.09 |
[JAVA] 추상 클래스와 추상 메서드의 이해와 활용 (1) | 2023.12.08 |