오브젝트

오브젝트. 코드로 이해하는 객체지향 설계. 조영호 저

패러다임(paradigm)

  • 모델(model), 패턴(pattern), 또는 전형적인예(example)를 의미하는 그리스어인 파라데이그마(Paradeigma)에서 유래했다.

프로그래밍 패러다임

  • 특정 시대의 어느 성숙한 개발자 공동체에 의해 수용된 프로그래밍 방법과 문제 해결방법, 프로그래밍 스타일이라고 할 수 있다.

  • 간단히 말해서 우리가 어떤 프로그래밍 패러다임을 사용하느냐에 따라 우리가 해결할 문제를 바라보는 방식프로그램을 작성하는 방법이 달라진다.

객체지향 설계의 문제를 찾기 위한 기준

  • 객체지향 설계는 서로 의존하면서 협력하는 객체들의 공동체를 구축하는 것

  • 객체 사이의 의존성(dependency)은 변경에 대한 영향을 암시한다.

  • 애플리케이션의 기능을 구현하는 데 필요한 최소한의 의존성만 유지하고 불필요한 의존성을 제거하는 것이다.

  • 객쳬 사이의 의존성이 과한 경우를 가리켜 결합도(coupling)가 높다고 말한다.

훌륭한 객체지향 설계란?

  • 캡슐화를 이용해 의존성을 적절히 관리함으로써 객쳬 사이의 결합도를 낮추는 것이다.

데이터 기반 설계에서 객체 지향 설계로 개선하기 위한 방법

  • 객체인터페이스구현으로 나누고 인터페이스만을 공개하는 것객체 사이의 결합도를 낮추고

    변경하기 쉬운 코드를 작성하기 위해 따라야 하는 가장 기본적인 설계 원칙이다.

  • 핵심은 객체 내부의 상태캡슐화하고 객체 간에 오직 메시지를 통해서만 상호작용하도록 만드는 것이다.

Last updated