20241229Liskov Substitution Principle, LSP *"상위 클래스 사용하던 자리에는 하위 클래스 사용할 수 있다"*상위 클래스의 객체를 사용하는 모든 곳에서 하위 클래스의 객체로 대체하더라도 프로그램의 동작이 바뀌지 않아야 한다.==하위 클래스는 상위 클래스를 대체할 수 있어야 한다. ==상위 클래스가 기대하는 동작(계약)을 하위 클래스가 깨지지 않도록 동작해야 한다는 원칙상위 클래스의 역할을 유지해야함 상위 클래스의 메서드와 동작은 하위 클래스에서도 **동일하게 작동** 해야 함 하위 클래스는 상위 클래스가 가진 동작의 **의미**를 바꾸거나 깨뜨리면 안 됨.대체 가능성 보장 코드에서 상위 클래스를 사용하던 자리(메서드 호출, 변수 등)에 하위 클래스를 넣어도 **플고그..