객체지향 프로그래밍에서 캡슐화란 데이터와 기능을 하나의 객체 내부에 모아두는 것이다. 예를 들어 영화 예매 클래스는 영화, 상영일자 데이터와 예약 메서드 등 영화 예매와 직접적으로 관련된 모든 데이터와 기능을 갖는다. 이렇게 함으로써 객체는 다른 클래스 등에 의존하지 않고 내부적으로 판단할 수 있다. 즉, 독립적인 객체를 만들 수 있다.
모든 소프트웨어의 모듈은 정상적으로 동작해야 하고, 쉽게 변경할 수 있어야 하고, 가독성이 좋아야 한다. 여기서 모듈은 클래스, 패키지, 라이브러리 등 프로그램을 구성하는 어떤 단위도 상관없다. 첫번째로 동작 가능성은 소프트웨어라면 기본적으로 갖추어야 하는 조건이기 때문에 넘어가도록 한다.
캡슐화의 이점은 변경이 용이하고 가독성이 좋아진다는 점이다. 특정 기능을 변경해야할 때 기능와 연관된 요소가 많다면 일일히 변경하기도 어렵고, 디버깅에도 시간이 많이 소요될 것이다. 하지만 기능이 하나의 객체 내부에서만 존재한다면 해당 객체만 수정하면 되기 때문에 상대적으로 변경이 쉬워진다. 또한 독립적인 객체로 구성된 코드는 실제 세계와 유사하다. 따라서 코드만 보고도 직관적으로 이해할 수 있다.
'Language > 객체지향 설계' 카테고리의 다른 글
| [page.49 ~ 65] 다형성 (0) | 2022.11.10 |
|---|---|
| [page.37 ~ 49] 객체지향 설계 (0) | 2022.11.10 |