접근제어자
- 클래스와 클래스의 멤버(필드, 메소드, 생성자)를 사용할 때, 접근할 수 있는 범위를 지정해 주는 역할
접근 제한 | 적용 대상 | 접근할 수 없는 클래스 |
public | 클래스, 필드, 생성자, 메소드 | 없음 |
protected | 필드, 생성자, 메소드 | 자식 클래스가 아닌 다른 패키지에 소속된 클래스 |
default | 클래스, 필드, 생성자, 메소드 | 다른 패키지에 소속된 클래스 |
private | 필드, 생성자, 메소드 | 모든 외부 클래스 |
종류
- public
- private
- protected
- default
public
- public 접근 제어자가 붙은 변수나 메서드는 어떤 클래스에서도 접근이 가능
private
- private이 붙은 변수나 메서드는 해당 클래스 안에서만 접근이 가능
protected
- protected가 붙은 변수나 메서드는 동일 패키지의 클래스 또는 해당 클래스를 상속받은 클래스에서만 접근이 가능
default
- 접근 제어자를 별도로 설정하지 않는다면 변수나 메서드는 default 접근 제어자가 자동으로 설정되어 동일한 패키지 안에서만 접근이 가능
- 클래스가 default 접근 제한 가질 때, 클래스 사용이 같은 패키지로 한정되므로 생성자가 public 접근 제한을 가지더라도 같은 패키지 내에서만 멤버 호출 가능
- 멤버들을 public 으로 사용하려면 클래스도 public 이어야 함
'Java > Java' 카테고리의 다른 글
[Java(자바)] 자바의 Thread(쓰레드) (0) | 2024.05.12 |
---|---|
[Java(자바)] 메모리 관리와 가비지 컬렉션 (0) | 2024.05.12 |
[Java(자바)] 동일성 / 동등성 (0) | 2024.05.12 |
[Java(자바)] JPA에서 복잡한 쿼리 작성 (0) | 2024.05.12 |
[Java(자바)] JPA 상속 관계 (0) | 2024.05.09 |