[Java] 접근 제어자(Access Modifier)

동동·2021년 10월 28일
0

JAVA

목록 보기
9/9
post-thumbnail

접근 제어자(Access Modifier)

접근 제한자로고도 함. public / protected / default / private 총 4가지가 있음.
접근 제어자를 두 개 이상 같이 사용할 수는 없음.

📌 public

  • public 접근 제어자를 사용하여 선언된 클래스 멤버는 외부로 공개
  • 해당 객체를 사용하는 프로그램 어디에서나 직접 접근 가능
  • public 메서드를 통해서만 해당 객체의 private 멤버에 접근 가능
  • 따라서 public 메서드는 private 멤버와 프로그램 사이의 인터페이스(interface) 역할

📌 protected

  • protected 멤버는 부모 클래스에 대해서는 public 멤버처럼 취급
  • 외부에서는 private 멤버처럼 취급
  • 클래스의 protected 멤버에 접근할 수 있는 영역
    • 이 멤버를 선언한 클래스의 멤버
    • 이 멤버를 선언한 클래스가 속한 패키지의 멤버
    • 이 멤버를 선언한 클래스를 상속받은 자식 클래스(child class)의 멤버

📌 default

  • 별도로 접근 제어자를 지정하지 않으면 default 접근제어자를 사용
  • default 접근 제어를 가지는 멤버는 같은 클래스의 멤버와 같은 패키지에 속하는 멤버에서만 접근가능

📌 private

  • priate 클래스 멤버는 외부에 공개되지 않으며, 외부에서는 직접 접근 불가능
  • 즉, 자바 프로그램은 private 멤버에 직접 접근할 수 없으며, 해당 객체의 public 메서드를 통해서만 접근 가능
  • 따라서 private 멤버는 public 인터페이스를 직접 구성하지 않고, 클래스 내부의 세부적인 동작을 구현하는 데 사용

🚧 기타 제어자(Modifier)

참고 사이트
https://velog.io/@gillog/Java-%EC%A0%91%EA%B7%BC%EC%A0%9C%ED%95%9C%EC%9E%90

http://www.tcpschool.com/java/java_modifier_accessModifier

profile
괴발개발

0개의 댓글