JAVA/패키지

패키지(3) - 캡슐화

jjhim531 2024. 7. 30. 13:38
반응형

* 데이터(속성)와 해당 데이터를 처리하는 메서드(기능)를 하나로 묶어서 외부에서의 접근을 제한하는 것.

- 캡슐화를 통해 데이터의 직접적인 변경을 방지하거나 제한할 수 있다.

- 캡슐화가 무너지면 클래스 사용방법과 관련하여 알아야 할 사항들이 너무 많다. 결론적으로 코드가 복잡해진다.

 

* 캡슐화를 안전하게 완성할 수 있게 해주는 장치가 바로 접근 제어자다.

private < default < protected < public

 

* 객체의 데이터는 객체가 제공하는 기능인 메서드를 통해서 접근해야 한다.

- 캡슐화에서 가장 필수로 숨겨야 하는 것은 속성(데이터)이다.

- 객체 내부의 데이터를 외부에서 함부로 접근하게 두면, 클래스 안에서 데이터를 다루는 모든 로직을 무시하고 데이터를 변경할 수 있다. 

 

*  사용자 입장에서 꼭 필요한 기능만 외부에 노출하자.

- 외부에 꼭 필요한 기능만 노출하고 나머지는 모두 내부로 숨기는 것이다. 

- 객체의 기능 중에서 외부에서 사용하지 않고 내부에서만 사용하는 기능들이 있다. 이런 기능도 모두 감추는 것이 좋다.

 

728x90
반응형