public : 누구나 접근할 수 있도록 할 때 사용한다.
protected : 같은 패키지 내에 있거나 상속받은 경우에만 접근할 수 있다.
package-private : 아무런 접근 제어자를 적어주지 않을 때이며, package-private라고도 불린다.
같은 패키지 내에 있을 때만 접근할 수 있다.
private : 해당 클래스 내에서만 접근 가능
| 해당 클래스 안에서 | 같은 패키지에서 | 상속 받은 클래스에서 | import한 클래스에서 |
public | o | o | o | o |
protected | o | o | o | x |
(package private) | o | o | x | x |
private | o | x | x | x |