객체 지향 프로그래밍에서 소프트웨어 디자인의 원칙을 정리한 약어
이 원칙들은 코드의 유연성, 확장성, 유지보수성을 높이는 데 중점
1. S - Single Responsibility Principle (SRP)
단일 책임 원칙: 클래스는 단 하나의 책임만 가지면 좋다.
2. O - Open/Closed Principle (OCP)
개방/폐쇄 원칙: 소프트웨어 개체(클래스, 모듈, 함수 등)는 확장에는 열려 있어야 하고, 수정에는 닫혀 있어야 한다. 기존 코드를 수정하지 않고도 새로운 기능을 추가할 수 있어야 한다.
3. L - Liskov Substitution Principle (LSP)
리스코프 치환 원칙: 객체는 서브타입의 객체로 치환 가능. 상위 타입의 객체를 하위 타입의 객체로 교체해도 프로그램의 기능이 변하면 X.
4. I - Interface Segregation Principle (ISP)
인터페이스 분리 원칙: 인터페이스는 그 인터페이스를 사용하는 클라이언트에 맞게 구체적으로 분리되어야 한다. 클라이언트는 자신이 사용하지 않는 메서드에 의존X.
5. D - Dependency Inversion Principle (DIP)
의존성 역전 원칙: 고수준 모듈은 저수준 모듈에 의존하면 안된다. 두 모듈 모두 추상화에 의존. 추상화는 구체적인 것에 의존X.
Share article