접근 제어

less than 1 minute read

접근 제어

  • 4개 방법이 있다.
    • private : 현재 클래스
    • (default) : 현재 클래스 + 같은 패키지
    • protected : 현재 클래스 + 같은 패키지 + 서브 클래스
    • public : 모두
  • 원칙은 무조건 private로 만들고 공개할 대상만 public으로 한다.
  • 필요에 따라 default나 protected로 변경한다.
  • 접근 권한이 없는 메서드는 오버라이딩이 불가능하다.
    • 오버라이딩 메서드의 접근 범위를 확대하는 것은 괜찮다.
    • private는 오버라이딩 자체가 불가능하기 때문에 접근 범위를 확대할 수 없다.
    • 오버라이딩 할 때 원본보다 접근 범위를 좁힐수는 없다. 즉, 수퍼 클래스의 메서드를 자식 클래스가 재정의 할 때 접근 범위를 확대할 수는 있지만 좁힐수는 없다.

Categories:

Updated: