[Java] 접근 제한자

전우석·2024년 3월 5일

Java

목록 보기
3/24

접근 제한자(access modifier)

클래스나 필드 변수, 메서드(이하 멤버)에 대한 접근을 제어하는 용도로 사용
객체 지향의 핵심 요소인 캡슐화, 정보 은닉을 위해 사용

접근 제한자의 종류

public

  • 가장 넓은 범위의 접근 제한자
  • 어디에서든지 해당 멤버에 접근이 가능
  • public으로 선언된 멤버는 모든 패키지에서 제한 없이 접근할 수 있음

protected

  • 같은 패키지 내의 클래스와, 해당 클래스를 상속받은 외부 패키지에서 접근 가능
  • 외부 패키지의 클래스에서는 상속을 통해 접근할 수 있지만, 인스턴스를 생성하여 직접 접근은 불가능

default (package-private)

  • 접근 제한자를 명시하지 않으면 default 접근 제한이 적용됨
  • 같은 패키지 내의 클래스에서만 접근이 가능하고, 다른 패키지에서는 접근 불가

private

  • 가장 제한적인 범위의 접근 제한자
  • private으로 선언된 멤버는 해당 클래스 내에서만 접근 가능, 다른 클래스에서는 접근 불가

클래스 외부에 공개해서 사용할 메소드에는 public 접근 제한자 사용
클래스의 필드 변수(상태값)는 private으로 구현(외부에서 제어가 불가능하도록)

0개의 댓글