JAVA 접근 제어자

지정욱·2023년 11월 12일
0
post-thumbnail

자바 - 접근제어자 public, private, protected 및 default

자바에서 접근제어자(access modifier)는 클래스와 클래스의 멤버(필드, 메소드, 생성자)를 사용할 때, 접근할 수 있는  범위를 지정해 주는 역할을 합니다. 보통 접근제어자 또는 접근지정자라고 부르며 클래스나 클래스 멤버 앞에 붙어있는 public, private, protected 등의 키워드가 바로 접근제어자(접근지정자)입니다. 

📌 제어자는 클래스, 변수, 메서드의 선언부에 사용되어 부가적인 의미를 부여해 줍니다.
  • 접근 제어자 : public, protected, default, private
  • 그 외 제어자 : static, final, abstract

❗️ 하나의 대상에 여러 개의 제어자를 조합해서 사용할 수 있으나, 접근 제어자는 단 하나만 사용할 수 있습니다.

📌 멤버 또는 클래스에 사용, 외부에서 접근하지 못하도록 제한합니다.
  • 클래스, 멤버변수, 메서드, 생성자에 사용되고, 지정되어 있지 않다면 default 입니다.
    - public : 접근 제한이 전혀 없습니다.
    - protected : 같은 패키지 내에서, 다른 패키지의 자손클래스에서 접근이 가능합니다
    - default : 같은 패키지 내에서만 접근이 가능합니다.
    - private : 같은 클래스 내에서만 접근이 가능합니다.

공개범위는 public  >  protected  >  default(생략)  >  private 순으로 좁아집니다. 

-> 그렇다면, 왜 권한을 나눠서 설정하는 걸까요?
바로 외부에서 확인을 못하게 설정하고 싶은 경우 변수를 private로 설정해서
외부에서 접근하지 못하도록 설정할 수 있습니다. 이를 통해서 정보 은닉
(impormation hiding)이 가능해집니다.

profile
T자형 개발자가 되자

0개의 댓글