추상 클래스와 인터페이스 차이: 자바와 객체지향 설계 관점에서 언제 무엇을 써야 할까
추상 클래스와 인터페이스 차이를 자바 문법 비교표로만 외우면 실무에서 자주 헷갈립니다. 이 글에서는 공통 상태, 계약, 다중 타입, 변경 비용 관점에서 언제 무엇을 쓰면 좋은지 쉽게 정리합니다.
추상 클래스와 인터페이스 차이를 자바 문법 비교표로만 외우면 실무에서 자주 헷갈립니다. 이 글에서는 공통 상태, 계약, 다중 타입, 변경 비용 관점에서 언제 무엇을 쓰면 좋은지 쉽게 정리합니다.
상속과 조합은 모두 객체지향 설계의 도구지만, 변경이 생기는 상황에서는 composition이 inheritance보다 더 유연하게 버티는 경우가 많습니다. 이 글에서는 알림 발송 구조를 예시로 상속과 조합의 차이를 코드와 다이어그램으로 자세히 설명합니다.
객체지향을 클래스 개수나 상속 문법으로만 이해하면 왜 설계가 어려워지는지, 책임과 협력, 캡슐화 관점에서 다시 정리합니다.