접근 제어자는 멤버 또는 클래스에 사용되어 해당하는 멤버 또는 클래스를 외부에서 접근하지 못하도록 제한하는 역할을 수행합니다.
접근제어자는 생략이 가능하며 생략했을 때는 자동으로 default임을 뜻하게 됩니다. 따라서 default일 경우 접근 제어자를 지정하지 않습니다.
제어자 | 같은 클래스 | 같은 패키지 | 자손 클래스 | 전체 |
public | O | O | O | O |
protected | O | O | O | |
default | O | O | ||
private | O |
private - 같은 클래스 내에서만 접근이 가능합니다.
default - 같은 패키지 내에서만 접근이 가능합니다.
protected - 같은 패키지 내에서, 그리고 다른 패키지의 자손 클래스에서 접근이 가능합니다.
public - 접근 제한이 전혀 없습니다.
이러한 접근 제어자를 사용하는 이유는 클래스 내부에 선언된 데이터를 보호하기 위해서입니다. 데이터가 유효한 값을 유지하도록 또는 비밀번호와 같은 데이터를 외부에서 변경하지 못하도록 하기 위해서입니다.
즉
- 외부로부터 데이터를 보호하기 위해서
- 외부에는 불필요한 내부적으로만 사용되는 부분을 감추기 위해서 입니다.
3. 제어자의 조합
대상 | 사용가능한 제어자 |
클래스 | public, (default), final, abstract |
메서드 | 모든 접근 제어자, final, abstract, static |
멤버변수 | 모든 접근 제어자, final, static |
지역변수 | final |
728x90
반응형
'Language > Java' 카테고리의 다른 글
자바 - 동일성과 동등성(equals, == ) (0) | 2021.09.11 |
---|---|
SOLID 원칙 (0) | 2021.09.03 |
static (0) | 2021.08.01 |
클래스와 객체 (0) | 2021.07.24 |
인터페이스와 추상클래스 (0) | 2021.07.18 |