캡슐화란?
- 캡슐화는 객체가 내부적으로 기능을 어떻게 구현하는지를 감추는 것이다.
- 단순히 프라이빗한 데이터를 직접 데이터를 직접 접근하지 못하게 하기 위해 사용하는 것이 아닌 내부적인 기능에 초점을 맞춰야 한다. 단순히 데이터를 접근하기 위한 용도로 캡슐화를 사용한다면 객체에 대한 책임이 분산될 수 있다.
캡슐화를 하기 위한 두가지 규칙
묻지 말고 시켜라
- 참조한 객체의 데이터에 대한 로직이 필요할 경우에 직접 구현하지 말고 구현된 데이터를 요청하여 데이터에 대한 책임을 전가 시킬 수 있다.
데미테르의 법칙
- 1 뎁스만 사용할 뿐 2뎁스로 사용하지 말아야 한다. 이것은 묻지 말고 시켜라의 연장선으로 참조하는 객체가 가지고 있는 데이터를 참조하는 사용자 입장에서는 알 필요가 없고 데이터를 사용하여 데이터의 내부 기능을 사용하게 되면 내부 기능의 변화에 범위가 외부에도 노출되어 의존성이 낮아진다.
'Computer science > 디자인패턴 및 프로그래밍 패러다임' 카테고리의 다른 글
SOLID 원칙 (0) | 2023.06.30 |
---|---|
상속과 합성 (0) | 2023.06.30 |
객체지향과 절차지향 (0) | 2023.06.30 |
싱글톤 패턴 (0) | 2022.12.15 |