반응형 LSP 원칙1 SOLID 원칙 (3) - 리스코프 교환 원칙(LSP) 리스코프 교환 원칙(Liskov Substitution Principle) 서브 타입은 언제나 기반 타입으로 교체 가능해야 한다. 서브 타입은 언제나 기반 타입과 호환될 수 있어야 한다. 즉, 기반 클래스는 파생 클래스로 대체할 수 있어야 한다. 부모 클래스 인스턴스 자리에 자식 클래스의 인스턴스가 들어가도 작동해야 한다. 자식이 부모 자리에서 작동하려면 부모와 동일하게 행동해야 함 자식은 부모의 행동 규약을 준수해야 한다 부모 클래스의 속성과 메서드를 그대로 물려받으면 아무 문제 없다 대부분 오버라이딩 과정에서 문제가 발생 오버라이딩 과정에서 변수타입 변경, 메서드의 파라미터나 리턴값 변경 부모의 의도와 다르게 메서드를 변경하는 오버라이딩 LSP를 위반하면 OCP 붕괴(상속에는 닫혀 있고 개방에는 열려.. 2024. 3. 6. 이전 1 다음 반응형