오브젝트
오브젝트. 코드로 이해하는 객체지향 설계. 조영호 저
패러다임(paradigm)
모델(model)
,패턴(pattern)
, 또는전형적인예(example)
를 의미하는 그리스어인파라데이그마(Paradeigma)
에서 유래했다.
프로그래밍 패러다임
특정 시대의 어느 성숙한 개발자 공동체에 의해 수용된 프로그래밍 방법과
문제 해결방법
,프로그래밍 스타일
이라고 할 수 있다.간단히 말해서 우리가 어떤
프로그래밍 패러다임
을 사용하느냐에 따라 우리가 해결할문제를 바라보는 방식
과프로그램을 작성하는 방법
이 달라진다.
객체지향 설계의 문제를 찾기 위한 기준
객체지향 설계는 서로 의존하면서 협력하는 객체들의 공동체를 구축하는 것
객체 사이의
의존성(dependency)
은 변경에 대한 영향을 암시한다.애플리케이션의 기능을 구현하는 데 필요한 최소한의 의존성만 유지하고 불필요한 의존성을 제거하는 것이다.
객쳬 사이의 의존성이 과한 경우를 가리켜
결합도(coupling)
가 높다고 말한다.
훌륭한 객체지향 설계란?
캡슐화
를 이용해의존성
을 적절히 관리함으로써 객쳬 사이의결합도
를 낮추는 것이다.
데이터 기반 설계에서 객체 지향 설계로 개선하기 위한 방법
객체
를인터페이스
와구현
으로 나누고인터페이스만을 공개하는 것
은객체 사이의 결합도를 낮추고
변경하기 쉬운 코드를 작성하기 위해 따라야 하는 가장
기본적인 설계 원칙
이다.핵심은
객체 내부의 상태
를캡슐화
하고객체 간에 오직 메시지를 통해서만 상호작용
하도록 만드는 것이다.
Last updated