1. 접근제어자란?
클래스, 멤버 변수, 메서드 등의 접근 가능성을 제어하는 것. 이러한 접근 제어자를 사용하여 클래스의 멤버 변수와 메서드의 접근 범위를 제어할 수 있다. 이를 통해 캡슐화를 구현하고, 외부에서 직접 접근하지 못하도록 보호 (정보은닉) 할 수 있다. * 코드의 유지 보수성과 재사용성을 향상시킬 수 있음
2. 접근제어자의 종류
<종류 4가지>
1) public
어떤 클래스든 접근할 수 있음. 다른 패키지에서도 접근 가능.
2) protected
같은 패키지 내에서는 접근할 수 있으며, 상속 관계 접근 가능
하위 클래스에서 접근 가능 = 상속 관계에 있는 클래스들 사이에서의 접근 가능성
3) default (=접근제어자를 명시하지 않은 경우)
같은 패키지 내에서만 접근 가능
4) private
같은 클래스 내에서만 접근 가능
주민등록번호와 같은 민감한 정보들에게 private를 사용한다.
접근 제어자 | 해당 클래스 안 | 패키지 | 자식 클래스 | 전체 |
public | O | O | O | O |
protected | O | O | O | X |
없음 (default) | O | O | X | X |
private | O | X | X | X |
필드는 특별한 이유가 있는게 아니면 무조건 private
(상수를 제외하고는 필드에 public 사용 XXX)
Share article