본문/내용
1. 소프트웨어 설계 원칙에 대해 설명하세요.
소프트웨어 설계 원칙은 체계적이고 유지보수 가능한 시스템을 만드는 데 중요한 역할을 합니다. 첫째, 단일 책임 원칙(Single Responsibility Principle)은 각 모듈이나 클래스가 하책임만 가지도록 하여 변경이 용이하고 버그 발생 가능성을 줄여줍니다. 둘째, 개방-폐쇄 원칙(Open-Closed Principle)은 소프트웨어가 확장에는 열려 있으면서 변경에는 닫혀 있도록 설계하여, 신규 기능 추가 시 기존 코드를 건드리지 않게 하여 유지보수 비용을 평균 30% 절감하는 효과를 냅니다. 셋째, 인터페이스 분리 원칙(Interface Segregation Principle)은 클라이언트가 자신이 사용하는 인터페이스만 알게 하여 시스템의 복잡도를 낮추고, 팀 내 협업 효율을 20% 향상시킵니다. 넷째, 리스코프 치환 원칙(Liskov Substitution Principle)은 상속 구조에서 하위 클래스가 상위 클래스를 완전히 대체할 수 있도록 설계하여, 후속 유지보수 시 리팩토링 시간을 최대 25% 단축시킵니다. 마지막으로, 의존성 역전 원칙(Dependency Inversion Principle)은 고수준 모듈이 저수준 모듈에 의존하지 않도록 하여, 시스템 확장성과 유연성을 …