리스코프 치환 원칙

리스코프 치환 원칙

시스템을 파괴하지 않으면서도 자료형을 하위 자료형으로 대체할 수 있어야 한다.

솔리드’ 원칙의 세 번째이다. 이 원칙은 만일 어떠한 구성 요소가 자료형에 의존한다면, 시스템 실패나 하위 자료형이 무엇인지에 대한 정보 없이도 하위형을 대신 사용할 수 있어야 한다고 말한다.

가령, 파일을 나타내는 구조로부터 XML 문서를 읽어들이는 메소드가 있다고 하자. 만약 메소드가 ‘파일’ 기반형을 사용하고 있다면, ‘파일’에서 파생된 모든 것은 해당 함수에서 쓰일 수 있다. ‘파일’이 역방향 탐색을 지원하고 XML 파서가 그 기능을 이용한다고 할 때 만약 하위 자료형인 ‘네트워크 파일’에 대한 역방향 탐색 시도 시 실패한다면, ‘네트워크 파일’은 규율을 위반하고 있는 것이다.

이 원칙은 특히 객체지향 프로그래밍과 관련이 있는데, 자료형의 계층 관계를 세심히 모델링해야 시스템 사용자들의 혼란을 막을 수 있기 때문이다.


참고 :