의존성 주입과 서비스 로케이터 차이: 둘 다 객체를 꺼내 쓰는데 왜 평가가 다를까
의존성 주입과 서비스 로케이터 차이를 쉽게 설명합니다. 둘 다 직접 new를 줄일 수 있지만, DI는 의존성을 외부에서 드러내고 서비스 로케이터는 객체가 직접 조회한다는 차이가 있습니다. 테스트성과 숨은 의존성 관점까지 함께 정리합니다.
의존성 주입과 서비스 로케이터 차이를 쉽게 설명합니다. 둘 다 직접 new를 줄일 수 있지만, DI는 의존성을 외부에서 드러내고 서비스 로케이터는 객체가 직접 조회한다는 차이가 있습니다. 테스트성과 숨은 의존성 관점까지 함께 정리합니다.
자바 static 메서드와 인스턴스 메서드 차이를 상태 의존성, this 사용, 책임 배치 기준으로 쉽게 정리합니다.
불변 객체는 왜 중요한지 설명합니다. 상태 변경을 줄이면 왜 버그와 추론 비용이 줄어드는지, setter를 없애는 것이 목적이 아니라 어떤 구조적 이점이 생기는지 OOP 관점에서 정리합니다.
캡슐화는 getter를 숨기는 기술인지, 아니면 객체가 자기 상태를 스스로 지키게 만드는 설계인지 설명합니다. 정보 은닉, 상태 변경 규칙, 무결성, 객체 책임 관점에서 쉽게 정리합니다.
인터페이스 분리 원칙(ISP)을 슬로건처럼 외우면 실무에서 잘 안 보입니다. 이 글에서는 큰 인터페이스가 왜 변경 비용과 테스트 비용을 키우는지, 언제 역할별 계약으로 나누는 것이 좋은지 실전 기준으로 정리합니다.
상속보다 조합이 더 나은 순간은 분명합니다. 이 글에서는 객체지향 설계에서 조합을 고르는 기준을 변경 비용, 역할 재사용, 위임, 치환 가능성, 옵션 조합 관점으로 실무적으로 정리합니다.