[디자인패턴] 3. SOLID

silver's avatar
Nov 13, 2024
[디자인패턴] 3. SOLID
 

S : SRP(Single Responsibility Principle) - 단일 책임 원칙

클래스는 하나의 역할이나 기능만 담당해야 유지보수에 용이하므로 하나의 클래스는 하나의 책임만 가져야한다!!!!

O : OCP(Open/Closed Principle) - 개방-폐쇄 원칙

클래스는 확장에 열려있고, 수정에는 닫혀 있어야 한다! 새로운 기능 추가 시 기존 코드를 수정하지 않고 확장할 수 있어야하며 이를 위해 인터페이스나 추상 클래스를 사용하여 기능을 확장하고 구체적인 구현은 외부에서 추가한다.

L : LSP(Liskov Substitution Principle) - 리스코프 치환 원칙

자식 클래스는 언제나 부모 클래스를 대체할 수 있어야한다!! 부모 클래스를 사용해야하는 상황에서 자식 클래스를 사용해도 프로그램이 정상적으로 작동해야한다.

I : ISP (Interface Segregation Principle) - 인터페이스 분리 원칙

클라이언트는 자신이 사용하지 않는 기능에 의존하지 않아야한다. 인터페이스를 자잘하게 나누어 필요한 기능만 사용하도록 구성하여 인터페이스가 너무 비대해지지 않도록 하여 필요하지 않은 기능으로 인해 불필요한 코드 의존성을 줄인다.

D : DIP (Dependency Inversion Principle) - 의존성 역전 원칙

구체적인 클래스에 의존하지 않고 인터페이스나 추상 클래스와 같은 추상화된 개체에 의존해야한다. 이를 통해 유연하고 확장성이 높은 설계 가능
 
 
Share article

silver