캡슐화의 특징
- 객체지향 프로그래밍의 핵심 개념 중 하나
- 객체 상태가 외부로부터 숨겨진 상황에서 이 상태에 접근하는 공개(public) 매서드만 노출하는 기법
- 캡슐화는 각 객체가 클래스 내에서 객체의 상태를 비공개로 유지할 때 성립
- 정보 은닉 매커니즘
- 느슨한 결합, 재사용성, 보안 및 테스트하기 쉬운 코드와 같은 이점을 제공
- 접근 제어자로 구현
캡슐화의 장점
정보 은닉 (Data Hiding)
구현 세부 사항을 숨김으로써 구성원의 액세스를 제한하는 방법. 사용자는 클래스의 내부 구현이나 클래스가 변수에 값을 저장하는 방법을 알 수 없다. 단지 setter 매서드에 값을 넘겨주면 그 값으로 초기화 된다는 것만 알 수 있다
유연성 증가
요구 사항에 따라 읽기 전용 또는 쓰기 전용 클래스의 변수를 만들 수 있습니다. 변수를 읽기 전용으로 만들고 싶다면 setter 매서드를 생략하거나 변수를 쓰기 전용으로 만들고 싶다면 get 매서드를 생략해야 한다.
재사용성
재사용하기 쉬우며 새로운 요구사항에 맞춰서 변경하기 쉽다.
테스트하기 쉽다.
유닛 테스트를 하기 용이하다.
참고
'Java' 카테고리의 다른 글
| [번역] JAVA Reflection (0) | 2022.11.21 |
|---|---|
| 자바프로젝트에서의 WEB과 WAS (0) | 2022.11.18 |
| PriorityQueue in Java (0) | 2022.10.10 |
| [번역] The Basics of Java Generics (0) | 2022.10.05 |
| Java의 날짜와 시간 (0) | 2022.09.28 |