Web/⛺️ Java

[Java] 접근 제한자 (public > protected > default > private)

키깡 2023. 12. 3.
728x90

접근 제한자 별 역할이나 관련 내용이 가물가물하여 한 번 통으로 정리할 겸 포스팅 한다.

접근 제한자란?

멤버들이 대외적으로 공개되는 것이 결코 좋은 것이 아니다.
객체가 가진 고유의 멤버 변수값들이 외부에서 잘못 변경되는 경우가 있는데, 사전에 멤버 변수와 함수들의 성격을 규정하고 차단함으로써 의도치 않은 실수를 줄이기 위한 의도가 깔려 있다.

그런 이유로 프로그래머가 객체의 멤버들에게 접근 제한을 걸 수가 있는데 자바에서는 이를 접근 제한자라 한다.

제한자 종류

public > protected > default > private

  • public : 모든 접근을 허용
  • protected : 같은 패키지(폴더)에 있는 객체와 상속관계의 객체(파생클래스)들만 허용
  • default : 아무런 접근 제한자를 명시하지 않으면 default 값이 되며, 같은 패키지(폴더)에 있는 객체들만 허용
  • private : 현재 객체 내에서만 허용

접근제한자 사용

  • 클래스 : public, default
  • 생성자 : public, protected, default, private
  • 멤버변수 : public, protected, default, private
  • 멤버메소드 : public, protected, default, private
  • 지역변수 : 접근제한자 사용 불허

댓글