1일1복습
[자바] 접근제어자
nayeonee__
2024. 5. 11. 01:14
접근제어자 - access modifier
- 클래스와 클래스멤버(필드, 메소드, 생성자)를 사용할 때, 접근할 수 있는 범위를 지정
- 접근제어자 or 접근 지정자 라고 불림
- public, private, protected, (default)
1. 클래스의 접근 제어자
- 클래스를 정의할 때 사용할 수 있는 접근제어자는 public과 default 이다.
- public 클래스 : 모든 클래스에서 해당 클래스에 접근이 가능하다. (패키지 상관없음)
- default 클래스 : 클래스 앞에 접근제어자가 없으면 default 클래스로, 같은 패키지 안의 클래스에서만 접근이 가능하다.
public class Fruit { // public 클래스
...
}
class Apple { // default 클래스
...
}
2. 클래스 멤버의 접근제어자
- 클래스 멤버와 함께 사용할 수 있는 접근제어자는 public, private, protected, default 로 총 4가지이다.
- public 멤버 : ‘공개’를 나타내며, 모든 클래스에서 접근이 가능하다. (패키지 상관없음)
- protected 멤버 : 같은 패키지안의 모든 클래스와, 다른 패키지의 자식 클래스에서 접근이 가능하다.
- default 멤버 : 접근 지정자가 없으면 default 멤버로, 같은 패키지안의 클래스에서만 접근이 가능하다.
- private 멤버 : '비공개’를 나타내며, 같은 클래스 안에 있는 멤버들만 접근이 가능하다.
- 공개 범위는 public > protected > default > private 순으로 좁아진다.
public class Computer { // public 클래스
public int a; // public 멤버변수(필드)
private int b; // private 멤버변수(필드)
protected int c; // protected 멤버변수(필드)
int d; // default 멤버변수(필드)
public Computer() { } // public 생성자
public void turnOn() { ... } // public 멤버함수(메소드)
private void turnOff() { ... } // private 멤버함수(메소드)
}
참고 블로그
https://kadosholy.tistory.com/96