본문 바로가기
카테고리 없음

Java 접근 제어자의 종류와 특징

by 개발초보입니다 2023. 12. 12.

접근제어자

접근제어자는 클래스의 멤버인 변수와 메소드들의 접근 권한을 지정합니다.

종류는 4가지로 pubilc, protected, default, private 가 있습니다.

 

아래 표로 접근 권한 범위를 자세히 확인해 봅시다.

접근자 클래스 내부 패키지 상속받은 클래스 이외의 영역
private O X X X
default O O X X
protected O O O X
public O O O O

 

  • public : 접근 제한이 없습니다
  • protected : 동일한 패키지 내에 존재하거나, 파생 클래스에서만 접근이 가능합니다.
  • default : 아무런 접근 제한자를 명시하지 않으며 default 값이 되며, 동일한 패키지 내에서만 접근이 가능합니다.
  • private : 자기 자신의 클래스 내에서만 접근이 가능합니다.

 

public > protected > default > private

 


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

애플리케이션이 커진다면 그만큼 문제점이 생길 확률도 커진다는 말이 됩니다.

특히 로직이 망가지는 첫번째 원인은 사용자인데 객체를 사용하는 입장에서 객체 내부적으로 사용하는 변수나 메소드에 접근함으로써 개발자가 의도하지 못한 오동작을 일이키기도 합니다.

 

그래서 객체의 로직을 보호하기 위해서 멤버에 따라서 외부의 접근을 허용하거나 차단해야 할 필요가 있습니다.

 

접근제어자를 사용하는 또 다른 이유는 사용자에게 객체를 조작할 수 있는 수단만을 제공함으로써 결과적으로 객체의 사용에 집중할 수 있도록 돕기 위함입니다.

 

즉 접근 제어자를 사용하는 이유로는 의도치 않은 실수 줄이기정보 은닉이 있다고 할 수 있습니다.