자바의 접근제어자
◇ 범위
private < default < protected < public
◇ private (-)
해당 클래스 내에서만 사용
◇ package friendly (class default)
동일 패키지 안에서만 사용
◇ protected (#)
동일 패키지와 해당 클래스를 상속받은 서브 클래스에서만 사용 가능
◇ public (+) (interface default)
모든 패키지와 클래스에서 사용 가능.
◇ 메소드 오버라이딩과 접근제어자와의 관계?
메소드 오버라이딩 시에, 상속받아서 구현한 오버라이딩 된 메소드는 상위 클래스의 해당 메소드의
접근제어자와 반드시 같을 필요는 없는지만, 범위가 같거나 넓은 범위로 정해야 한다.
◇ 클래스의 public과 default (클래스는 private, protected는 없음)
public 클래스는 파일명과 동일해야 함. (접근의 제어와는 조금 다름.)
프로그래밍/JAVA