접근 제어자를 쓰는 이유는 원로적으로 '캡슐화'라고 생각하였다. 캡슐화에 대해 정리해보자.
캡슐화
캡슐화(Encapsulation)는 객체 지향 프로그래밍의 중요한 개념 중 하나다.
캡슐화는 데이터와 해당 데이터를 처리하는 메서드를 하나로 묶어서 외부에서의 접근을 제한하는 것을 말한다.
캡슐화를 통해 데이터의 직접적인 변경을 방지하거나 제한할 수 있다. 캡슐화는 쉽게 이야기해서 속성과 기능을 하나로 묶고, 외부에 꼭 필요한 기능만 노출하고 나머지는 모두 내부로 숨기는것이다.
이전에 객체 지향 프로그래밍을 설명하면서 캡슐화에 대해 알아보았다. 이때는 데이터와 데이터를 처리하는 메서드를 하나로 모으는 것에 초점을 맞추었다.
여기서 한발짝 더 나아가 캡슐화를 안전하게 완성할 수 있게 해주는 장치가 바로 접근 제어자다.
그럼 어떤 것을 숨기고 어떤 것을 노출해야 할까?
데이터를 숨겨라
-객체의 데이터는 객체가 제공하는 기능인 메서드를 통해서 접근해야 한다.
기능을 숨겨라
-사용자 입장에서 꼭 필요한 기능만 외부에 노출하자. 나머지 기능은 모두 내부로 숨기자!
💡 데이터는 모두 숨기고, 기능은 꼭 필요한 기능만 노출하는 것이 좋은 캡슐화이다
'Language > ☕ Java' 카테고리의 다른 글
| [Java] 상속 (0) | 2024.08.12 |
|---|---|
| [Java] 반복문(for) (2) | 2024.08.08 |
| [Java] 메모리 구조 & static (2) | 2024.08.07 |
| 변수란? (전역 변수,매개변수, 인스턴스 변수, 클래스 변수) (0) | 2024.05.23 |
| 자주 나오는 프로그래밍 용어 정리 (클래스, 객체, 메서드, 인스턴스, 생성자.. etc) (0) | 2024.04.25 |