객체지향의 원리
-
추상화
-
어떤 영역에서 필요로 하는 속성이나 행동을 추출하는 작업을 의미한다.
-
각 개체의 구체적인 개념에 의지하지 말고 추상적 개념에 의존해야 설계를 유연하게 변경 할 수 있다.
-
-
캡슐화
-
소프트웨어 공학에서 요구사항 변경에 대처하는 고전적인 설게 원리로는 응집도(cohesion)와 결합도(coupling)가 있다.
-
응집도는 클래스나 모듈안의 요소들이 얼마나 밀접하게 관련되어 있는지를 나타내고, 결합도는 어떤 기능을 실행하는 데 다른 클래스나 모듈들에 얼마나 의존적인지를 나타낸다.
-
캡슐화는 특히 낮은 결합도를 유지할 수 있도록 해주는 객체지향 설계 원리다. 캡슐화는 정보은닉(information holding) 을 통해 높은 응집도와 낮은 결합도를 갖도록 한다. 정보은닉이란 말 그대로 알 필요가 없는 정보는 외부에서 접근하지 못하도록 제한하는 것이다.
-
소프트웨어는 결합이 많을수록 문제가 많이 발생한다. 한 클래스가 변경이 발생하면 변경된 클래스의 비밀에 의존하는 다른 클래스들도 변경해야 할 가능성이 커진다는 뜻이다.
-
참고서적 : 객체지향 디자인 패턴 (http://www.yes24.com/Product/Goods/12501269)
'백엔드 > Java' 카테고리의 다른 글
StringBuffer vs StringBuilder (0) | 2020.01.27 |
---|---|
int vs Integer (0) | 2020.01.27 |
리팩토링 맛보기 2탄 (0) | 2020.01.26 |
개념 (0) | 2020.01.04 |
자바 객체 지향 디자인 패턴 맛보기 3탄 (0) | 2019.11.17 |
Integer == 비교 (0) | 2019.11.16 |
자바 객체 지향 디자인 패턴 맛보기 2탄 (0) | 2019.10.19 |
자바 객체 지향 디자인 패턴 맛보기 1탄 (0) | 2019.10.03 |
댓글