제어자(modifier) (2)

roglog·2021년 6월 30일
0

java의 정석

목록 보기
20/36

5. 접근 제어자(access modifier)


  • 멤버 또는 클래스에 사용되어 해당하는 멤버 또는 클래스를 외부에서 접근하지 못하도록 제한하는 역할

  • 접근 제어자가 지정되어 있지 않다면 default임

  • 접근 범위가 넓은 순
    public > protected > default > private

    제어자같은 클래스같은 패키지자손클래스전체
    publicOOOO
    protectedOOO
    defaultOO
    privateO
  • 하나의 소스파일(*.java)에는 public클래스가 단 하나만 존재할 수 있으며, 소스파일의 이름은 반드시 public클래스의 이름과 같아야 함

  • private인 클래스는 다른 클래스의 조상이 될 수 없기 때문에 앞에 final을 추가하여 상속할 수 없는 클래스임을 알리는 것이 좋음

  • 접근 제어자를 사용하는 이유

    • 외부로부터 데이터를 보호하기 위해서
    • 외부에는 불필요한, 내부적으로만 사용되는, 부분을 감추기 위해서

6. 제어자의 조합


  • 메서드에 static과 abstract를 함께 사용할 수 없다
    (static메서드는 몸통이 있는 메서드에만 사용할 수 있기 때문)
  • 클래스에 abstract와 final을 동시에 사용할 수 없다
    (final은 확장할 수 없다는 의미리고 abstract는 상속을 통해서 완성되어야 한다는 의미이기 때문)
  • abstract메서드의 접근 제어자가 private일 수 없다
    (abstract는 상속을 받아야 완성되는데 private면 자손클래스에서 접근할 수 없기 때문)
  • 메서드에 private와 final을 같이 사용할 필요는 없다
    (하나만 써도 의미 충분)

java의 정석 chapter7

profile
Full Stack Developer 📚

0개의 댓글