상속 vs 조합: inheritance와 composition 비교
상속과 조합은 모두 객체지향 설계의 도구지만, 변경이 생기는 상황에서는 composition이 inheritance보다 더 유연하게 버티는 경우가 많습니다. 이 글에서는 알림 발송 구조를 예시로 상속과 조합의 차이를 코드와 다이어그램으로 자세히 설명합니다.
상속과 조합은 모두 객체지향 설계의 도구지만, 변경이 생기는 상황에서는 composition이 inheritance보다 더 유연하게 버티는 경우가 많습니다. 이 글에서는 알림 발송 구조를 예시로 상속과 조합의 차이를 코드와 다이어그램으로 자세히 설명합니다.
안드로이드 ViewModel에 모든 상태를 넣어야 하는 것은 아닙니다. UI 상태와 비즈니스 상태를 나누고, input state, loading state, domain state, one-time event를 어디에 두면 좋은지 실무 기준으로 정리합니다.
결합도가 중요한 이유는 코드가 연결되어 있기 때문이 아니라, 하나를 바꿀 때 같이 수정해야 하는 부분이 너무 많아지기 때문입니다. 이 글에서는 잘못된 설계 예시와 개선 예시를 통해 변경 전파와 유지보수 비용을 쉽게 설명합니다.
객체지향을 클래스 개수나 상속 문법으로만 이해하면 왜 설계가 어려워지는지, 책임과 협력, 캡슐화 관점에서 다시 정리합니다.
p>1편에서는 코틀린 클린코드의 기준을 잡았습니다. 2편에서는 이름 짓기를 다뤘습니다. 3편에서는…
1편에서는 코틀린 클린코드의 기준을 잡았습니다. 2편에서는 이름 짓기를 다뤘고, 3편에서는…