설계/설계 원칙
SOLID의 LSP : 왜 타입만 맞으면 안 되는가? 설계 오류를 막는 리스코프 치환 원칙
1. 추상화는 알지만 치환 가능성은 모른다.객체지향 프로그래밍(OOP, Object Oriented Programming)에서 상속과 인터페이스는 더 이상 낯선 개념이 아니다. 많은 개발자들이 재사용성과 확장성을 위해 추상화하고, 새로운 기능을 위해 하위 클래스나 구현 클래스로 분리해 나간다. 문제는 여기서부터 발생한다. 분명히 상위 타입에 맞게 코드를 작성했고, 컴파일도 문제없이 완료되었는데 런타임 시 기존 코드가 깨진다.클래스를 새로 하나 추가했을 뿐인데 테스트가 실패하거나 의외의 장애가 발생하는 상황은 생각보다 흔하다. 이는 단순한 실수가 아니라, 추상화를 사용하는 방식 자체에 근본적인 결함이 있었을 가능성을 의미한다. 많은 개발자들은 '상속'을 문법적으로 잘 이해하지만, 상속이 발생시키는 추상 타..
2025. 5. 2. 17:01