캡슐화란?

  • 캡슐화는 객체가 내부적으로 기능을 어떻게 구현하는지를 감추는 것이다.
  • 단순히 프라이빗한 데이터를 직접 데이터를 직접 접근하지 못하게 하기 위해 사용하는 것이 아닌 내부적인 기능에 초점을 맞춰야 한다. 단순히 데이터를 접근하기 위한 용도로 캡슐화를 사용한다면 객체에 대한 책임이 분산될 수 있다.

캡슐화를 하기 위한 두가지 규칙

묻지 말고 시켜라

  • 참조한 객체의 데이터에 대한 로직이 필요할 경우에 직접 구현하지 말고 구현된 데이터를 요청하여 데이터에 대한 책임을 전가 시킬 수 있다.

데미테르의 법칙

  • 1 뎁스만 사용할 뿐 2뎁스로 사용하지 말아야 한다. 이것은 묻지 말고 시켜라의 연장선으로 참조하는 객체가 가지고 있는 데이터를 참조하는 사용자 입장에서는 알 필요가 없고 데이터를 사용하여 데이터의 내부 기능을 사용하게 되면 내부 기능의 변화에 범위가 외부에도 노출되어 의존성이 낮아진다.

'Computer science > 디자인패턴 및 프로그래밍 패러다임' 카테고리의 다른 글

SOLID 원칙  (0) 2023.06.30
상속과 합성  (0) 2023.06.30
객체지향과 절차지향  (0) 2023.06.30
싱글톤 패턴  (0) 2022.12.15

+ Recent posts