문제
SOLID 원칙 중 **리스코프 치환 원칙(LSP)**과 **인터페이스 분리 원칙(ISP)**의 의미를 각각 간략히 설명하시오.
정답
LSP는 상위 타입의 객체를 하위 타입의 객체로 치환해도 프로그램이 정상 동작해야 한다는 원칙이다. ISP는 클라이언트가 자신이 사용하지 않는 인터페이스에 의존하지 않아야 한다는 원칙이다.
리스코프 치환LSP인터페이스 분리ISP
해설
LSP는 하위 클래스가 상위 클래스의 계약을 위반하지 않아야 하며, 상위 타입을 사용하는 곳에 하위 타입을 넣어도 동일한 기대를 만족해야 한다는 원칙이다. ISP는 하나의 거대한 인터페이스보다 목적별로 잘게 분리된 인터페이스를 제공하여 클라이언트가 필요한 기능에만 의존하게 하는 원칙이다.