2025/04/04 2

[오브젝트] 8. 의존성 관리하기

조영호 님의 "오브젝트" 책을 정리한 글입니다. 1. 의존성 이해하기변경과 의존성의존성함께 협력하는 객체들 사이에 발생하는 관계구분설명구현 시점- 의존 대상 객체가 변경되면, 의존하는 객체도 함께 변경될 가능성이 있음실행 시점- 의존 객체가 정상 동작하려면, 의존 대상 객체가 반드시 존재해야 함방향성- 항상 단방향임 (의존 A → B: A는 B에 의존하지만, B는 A에 의존하지 않음)변경 전파- 의존 방향을 따라 변경이 전파됨 (즉, B가 바뀌면 A도 영향 받을 수 있음) 예시더보기public class PeriodCondition implements DiscountCondition { private DayOfWeek dayOfWeek; private LocalTime startTime; ..

Code/OOP 2025.04.04

[오브젝트] 6. 메시지와 인터페이스

조영호 님의 "오브젝트" 책을 정리한 글입니다. 1. 협력과 메시지구분정의구성 요소 / 특징예시메시지객체 간 협력을 위한 의사소통 매커니즘오퍼레이션 명 + 인자order.place(item)메시지 전송한 객체가 다른 객체에게 메시지를 보내는 행위메시지를 전달함A 객체가 B 객체에게 place() 메시지 전송메서드메시지를 수신했을 때 실행되는 실제 절차내부 구현 중심public void place(Item item) { /* 처리 로직 */ }오퍼레이션객체가 외부에 제공하는 추상적인 서비스인터페이스에 정의된 메시지(구현 제외)place(item)퍼블릭 인터페이스외부에 노출된 오퍼레이션들의 집합오퍼레이션 목록place(item), cancel(orderId) 등시그니처오퍼레이션의 명세오퍼레이션 명 + 파라미..

Code/OOP 2025.04.04