본문 바로가기

오브젝트2

오브젝트 - 객체지향 프로그래밍 협력, 객체, 클래스 객체지향은 말 그대로 객체를 지향하는 것이다. 진정한 객체지향 패러다임으로의 전환은 클래스가 아닌 객체에 초점을 맞출 때에만 얻을 수 있다. 따라서, 객체지향 프로그래밍을 하기 위해선 2가지 사항에 집중해야 한다. 어떤 클래스가 필요한지를 고민하기 전에 어떤 객체들이 필요한지 고민하라 클래스는 공통적인 상태와 행동을 공유하는 객체들을 추상화한 것(객체를 구현하는 방법) 클래스 이전에 객체들이 어떤 상태와 행동을 가지는지를 먼저 결정 객체를 독립적인 존재가 아니라 기능을 구현하기 위해 협력하는 공동체의 일원으로 생각해라 객체를 협력하는 공동체의 일원으로 생각하는 것은 유연하고 확장 가능한 설계를 가능하게 만듬 상태와 행동을 정의 후 공통된 특성과 상태를 가진 객체들을 타입으로 분류하여.. 2021. 4. 22.
오브젝트 - 객체, 설계 로버트 마틴 - 모든 소프트웨어 모듈에는 세가지 목적이 존재 1. 실행 중에 제대로 동작하는 것 - 모든 모듈의 존재 이유 2. 변경을 위해 존재하는 것 - 간단한 작업만으로도 모듈은 변경이 가능해야 한다. 3. 코드를 읽는 사람과 의사소통하는 것 - 개발자가 쉽게 읽고 이해할 수 있어야 한다. 즉, 모든 모듈은 제대로 실행되야 하고, 변경이 용이해야 하며, 이해하기 쉬어야 한다. 변경에 취약한 코드 변경에 취약한 대부분의 코드는 객체 사이의 의존성과 관련된 문제 어떤 객체가 변경될 때 그 객체에게 의존하는 다른 객체도 함께 변경될 수 있다는 사실이 내포돼 있다. 객체지향 설계는 서로 의존하면서 협력하는 객체들의 공동체를 구축하는 것 따라서, 우리의 목표는 애플리케이션의 기능을 구현하는 데 필요한 최소한.. 2021. 4. 14.