좋은 프로그램이란? : 무한한 자유도가 주어지는 프로그램이 아니다. ⇒ 적절한 제약을 제공하는 프로그램이 좋은 프로그램이다!
1-1. 접근 제어자 종류
private
모든 외부 호출을 막음
클래스 안으로 숨길 때 사용
(default)
(package-private) 이라고도 함
같은 패키지 안에서는 허용
패키지 안으로 숨길 때 사용
protected
같은 패키지 안에서 호출 허용
(패키지가 달라도) 상속 관계 호출 허용
상속 관계로 숨길 때 사용
public
모든 외부 호출 허용
숨기지 않을 때 사용
📌 차단 순 private > (default) > protected > public
1-2. 접근 제어자 사용 위치
클래스
클래스 레벨의 접근 제어자 : public, (default)만 사용 가능!
public 클래스
하나의 자바 파일에 1개의 public 클래스만 존재 가능
반드시 파일 이름과 동일한 클래스 이름!
(default) 클래스
하나의 자바 파일에 여러개의 default 클래스 존재 가능
예시 코드 (PublicClass.java 파일)
// PublicClass.java
// public 클래스는 오직 1개만 (파일명과 동일)
public class PublicClass {
//
}
// default 클래스는 여러개 가능
class DefaultClass1 {
}
class DefaultClass2 {
}