[Object] 캡슐화

업데이트:

상태와 행동을 하나의 객체 안에 모으는 이유는 객체의 내부 구현을 외부로 감추기 위해서이다. 객체 지향이 강력한 이유는 한 곳에서 일어난 변경이 전체 시스템에 영향을 끼치지 않도록 파급효과를 적절하게 조절할 수 있는 장치를 제공하기 때문이다.

객체를 사용하면 변경 가능성이 높은 부분은 내부에 숨기고 외부에는 상대적으로 안정적인 부분만 제공함으로써 변경의 여파를 통제할 수 있다.

  • 변경될 가능성이 높은 부분을 구현 이라고 한다.
  • 상대적으로 안정적인 부분을 인터페이스 라고 한다.

캡슐화는 외부에서 알 필요가 없는 부분을 감춤으로써 대상을 단순화하는 추상화의 한 종류다. 변경될 수 있는 어떤 것이라도 캡슐화해야 한다.이것이 바로 객체지향 설계의 핵심이다.

캡슐화란 단순히 데이터를 감추는 것이 아니라 소프트웨어 안에서 변할 수 있는 어떤 개념 이라도 감추는 것이다.

유지보수성이 목표다. 여기서 유지보수성이란 두려움 없이, 저항감 없이 코드를 변경할 수 있는 능력을 말한다. 가장 중요한 동료는 캡슐화이다. 캡슐화란 어떤 것을 숨긴다는 것을 의미한다. 우리는 시스템의 한 부분을 다른 부분으로 감춤으로써 피해가 발생할 수 있는 가능성을 사전에 방지할수 있다.

Reference

오브젝트, 코드로 이해하는 객체지향 설계

카테고리:

업데이트:

댓글남기기