개발서적 2

[오브젝트 - 코드로 이해하는 객체지향 설계] 2장. 객체지향 프로그래밍

객체지향 프로그래밍을 향해협력, 객체, 클래스진정한 객체지향 패러다임으로의 전환은 클래스가 아닌 객체에 초점을 맞출 때에 얻을 수 있다.어떤 클래스가 필요한지를 고민하기 전에 어떤 객체들이 필요한지 고민하라.클래스는 공통적인 상태와 행동을 공유하는 객체들을 추상화한 것클래스의 윤곽을 잡기 위해서는 어떤 객체들이 어떤 상태와 행동을 가지는지를 먼저 결정해야함.객체를 독립적인 존재가 아니라 기능을 구현하기 위해 협력하는 공동체의 일원으로 봐야 한다.객체를 협력하는 공동체의 일원으로 바라보는 것은 설계를 유연하고 확장 가능하게 만든다.도메인의 구조를 따르는 프로그램 구조도메인: 문제를 해결하기 위해 사용자가 프로그램을 사용하는 분야public class Screening { private Movie mo..

개발서적 2025.03.21

[오브젝트 - 코드로 이해하는 객체지향 설계] 1장. 객체, 설계

소프트웨어 모듈이 가져야 하는 세 가지 기능(모듈: 크기와 상관 없이 클래스나 패키지, 라이브러리와 같이 프로그램을 구성하는 임의의 요소)첫 번째 목적: 실행 중에 제대로 동작하는 것모듈의 존재 이유두 번째 목적: 변경을 위해 존재하는 것대부분의 모듈은 생명주기 동안 변경되기 때문에 간단한 작업만으로도 변경이 가능해야 함.세 번째 목적: 코드를 읽는 사람과 의사소통 하는 것특별한 훈련 없이도 개발자가 쉽게 읽고 이해할 수 있어야 함.즉, 모든 모듈은 제대로 실행돼야 하고, 변경이 용이해야 하며, 이해하기 쉬워야 한다.변경에 취약한 코드의존성(dependency)의존성이 변경과 관련돼 있다.의존성은 변경에 대한 영향을 암시한다.어떤 객체가 변경될 때 그 객체에게 의존하는 다른 객체도 함께 변경될 수 있다는..

개발서적 2025.03.18