언어(Language)/Java
[Java] 접근 제어자, 정보은닉, 캡슐화
송기동
2024. 2. 14. 17:36
728x90
접근 제어자(Access modifier)
- 클래스, 메서드, 변수 등 멤버들에 대한 접근 권한을 제어하는데 사용
- 코드의 캡슐화, 보안, 유지 보수성 향상 가능
접근 제어자 종류
# private
- 동일한 클래스 내에서만 접근 가능
- 캡슐화를 구현하는데 사용
# default
- 접근 제어자를 명시하지 않는 경우 default 접근 제어자를 가짐
- 동일한 패키지 내에서만 접근 가능
# protected
- 동일한 패키지 내의 클래스와 해당 클래스를 상속한 클래스에서 접근 가능
→ 외부에서는 접근 불가, 상속 관계에 있는 클래스에서는 접근 가능
# public
- 어떤 클래스에서든 접근 가능

정보 은닉 (Information hiding)
- 접근 제어자를 이용하여 정보은닉을 실현
- 객체의 무결성을 보장하는 것을 목표
- 클래스의 내부 구현을 감추고 외부에 필요한 인터페이스만을 제공
캡슐화 (Encapsulation)
- 주로 접근 제어자를 이용하여 구현
- 필요한 경우에만 접근 가능한 메서드를 제공, 멤버 변수에 접근을 제어
- 오직 공개된 메서드를 통해서만 데이터에 접근하고 조작 가능
[Java] 접근 제어자 예시
접근 제어자(access modifier) - 클래스, 메서드, 변수 등 멤버들에 대한 접근 권한을 제어하는데 사용 - 코드의 캡슐화, 보안, 유지 보수성 향상 가능 접근 제어자 종류 # private - 동일한 클래스 내에서
thdrlehd.tistory.com
728x90