본문 바로가기
백엔드/Java

자바 객체 지향 디자인 패턴 맛보기 4탄

by david100gom 2019. 12. 10.

객체지향의 원리

  • 추상화

    • 어떤 영역에서 필요로 하는 속성이나 행동을 추출하는 작업을 의미한다.

    • 각 개체의 구체적인 개념에 의지하지 말고 추상적 개념에 의존해야 설계를 유연하게 변경 할 수 있다.

  • 캡슐화

    • 소프트웨어 공학에서 요구사항 변경에 대처하는 고전적인 설게 원리로는 응집도(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

댓글