[객체지향] SOLID

송송승현's avatar
Nov 12, 2024
[객체지향] SOLID
 
💡
객체 지향 프로그래밍에서 소프트웨어 디자인의 원칙을 정리한 약어
이 원칙들은 코드의 유연성, 확장성, 유지보수성을 높이는 데 중점
 

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

송승현의 블로그