[SOLID] 리스코프 치환의 법칙: LSP
LSP 원칙이란 ? Liskov Substitution Principle의 줄임말 - 서브타입(subtype)은 언제나 슈퍼타입(supertype)으로 교체할수 있어야 한다. - 사용자는 파생 클래스에 대해 알 필요가 없다. => 즉 supertype이든 subtype이든 상관없이 작동해야 한다. OCP vs LSP OCP : abstraction , polymorphism ( inheritance ) 를 이용해서 구현 LSP : OCP를 받쳐주는 polymorphism에 관한 원칙을 제공 => subtype이나 supertype의 관계에서 서로 정확한 타입을 알 필요없이 프로그램이 돌아가야 한다. => sub클래스에서 super 클래스를 사용하면 안된다. : LSP가 위반되면 OCP도 위반된다. : L..