객체는 데이터를 담는 상자가 아니다: 상태와 행위를 함께 봐야 설계가 쉬워지는 이유
객체를 단순 데이터 통으로만 보면 왜 서비스에 로직이 몰리고 설계가 어려워지는지, DTO와 도메인 객체 차이와 함께 쉽게 정리합니다.
객체를 단순 데이터 통으로만 보면 왜 서비스에 로직이 몰리고 설계가 어려워지는지, DTO와 도메인 객체 차이와 함께 쉽게 정리합니다.
객체지향에서 메서드를 어디에 둬야 할지 헷갈릴 때, 서비스에 몰린 로직과 빈약한 도메인 객체 문제를 책임 배치 기준으로 쉽게 정리합니다.
상속과 조합은 모두 객체지향 설계의 도구지만, 변경이 생기는 상황에서는 composition이 inheritance보다 더 유연하게 버티는 경우가 많습니다. 이 글에서는 알림 발송 구조를 예시로 상속과 조합의 차이를 코드와 다이어그램으로 자세히 설명합니다.
객체지향을 클래스 개수나 상속 문법으로만 이해하면 왜 설계가 어려워지는지, 책임과 협력, 캡슐화 관점에서 다시 정리합니다.