javaScript
리스코프 치환 원칙(Liskov Substitution Principle)
mooyou
2024. 3. 2. 19:27
728x90
300x250
만약 S가 T의 하위 형식 이라면, 프로그램 안에서 T타입의 객체를 대체해도 프로그램의 의미나 동작에는 아무런 영향이 없어야 한다.
이 원칙은 "is-a" 관계의 의미를 설명하는데 사용된다.
예를 들어, "자동차는 차량이다"라고 말할 때, 자동차는 차량의 하위 형식이 되며, 따라서 자동차는 클래스 차량 클래스를 상속할 수 있어야 한다.
가능한 경우:
1. 자동차와 승용차 : 승용차는 자동차라고 말할 수 있기 때문에, 승용차 클래스는 자동차 클래스를 상속할 수 있다.
2. 삼각형과 도형 : 삼각형은 도형이다라고 말할 수 있기 때문에 삼각형 클래스는 도형 클래스를 상속 할수 있다.
불가능한 경우
1. 기차와 자동차 : 기차클래스에서 이동하는 기능을 가져와 자동차를 이동하는 클래스를 만든다 하지만 기차는 자동차라고 말할 수 없기 때문에 상속해서는 안된다.
2. 사각형과 삼각형 : 사각형은 삼각형이 아니다라고 말할 수 있기때문에, 사각형 클래스는 삼각형 클래스르 ㄹ상속해서는 안된다.
728x90
반응형