상속보다 조합이 더 나은 순간: 객체지향 설계에서 조합을 고르는 기준
상속보다 조합이 더 나은 순간은 분명합니다. 이 글에서는 객체지향 설계에서 조합을 고르는 기준을 변경 비용, 역할 재사용, 위임, 치환 가능성, 옵션 조합 관점으로 실무적으로 정리합니다.
상속보다 조합이 더 나은 순간은 분명합니다. 이 글에서는 객체지향 설계에서 조합을 고르는 기준을 변경 비용, 역할 재사용, 위임, 치환 가능성, 옵션 조합 관점으로 실무적으로 정리합니다.
리스코프 치환 원칙(LSP)을 상속 문법이 아니라 계약과 치환 가능성 관점에서 다시 설명합니다. 상속이 자연스러운지 판단하는 실전 질문과 구체적인 위반 사례까지 함께 정리합니다.
자바 static과 final 차이를 초보자 기준으로 쉽게 정리합니다. static은 클래스 소속과 공유 범위를, final은 재할당과 재정의 제한을 다룬다는 기준으로 static field, final 변수, static final 상수, final 클래스와 final 메서드까지 실전적으로 설명합니다.
SOLID 원칙을 암기나 의식처럼 적용하지 않고, 변경 비용·계약·의존성 관점에서 다시 설명합니다. 실무에서 자주 생기는 오해와 과한 추상화 문제까지 함께 정리합니다.
인터페이스는 왜 필요할까를 구현 분리 한 줄로만 설명하면 설계의 핵심을 놓치기 쉽습니다. 이 글에서는 역할 분리, 변경 비용, 테스트 가능성, 협업 경계 관점에서 인터페이스의 진짜 가치를 쉽게 정리합니다.
추상 클래스와 인터페이스 차이를 자바 문법 비교표로만 외우면 실무에서 자주 헷갈립니다. 이 글에서는 공통 상태, 계약, 다중 타입, 변경 비용 관점에서 언제 무엇을 쓰면 좋은지 쉽게 정리합니다.