> For the complete documentation index, see [llms.txt](https://docs.sysout.co.kr/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.sysout.co.kr/base-language/java/advanced/access-modifier.md).

# 접근 제한

## 접근 제한

접근 제한은 객체의 데이터를 보호하기 위한 기술이다.

### 접근 제한 키워드

자바에서의 접근 제한은 다음 네 가지로 구분된다

* private : 인스턴스 외부의 접근을 차단
* default : 미 작성시 자동 적용되며, 패키지 외부의 접근을 차단
* protected : 동일 패키지이거나 상속 관계에서 자식 클래스인 경우를 제외한 접근을 차단
* public : 접근을 차단하지 않음

### 은닉화

은닉화는 접근제한을 이용하여 외부에서 변수를 원하는 대로 제어할 수 없도록 감추는 것을 말하며, 이어서 나오는 캡슐화 개념을 구현하는 데 반드시 필요한 개념이다.

### 캡슐화

외부에서 클래스를 이용함에 있어 세부 사항을 감추고 기능에 대한 Input/Output만 알 수 있도록 캡슐처럼 감싸서 보호하는 개념이다. 객체 지향 프로그래밍의 주요 특징 중 하나이다.
