객체지향 SOLID 원칙

Eden Ko·2022년 5월 4일
0

1. SRP : 단일 책임 원칙

Single Responsibility Principle 하나의 객체가 하나의 책임을 가져야 한다는 의미이다. AOP(Aspect Oriented Programming) 또한 SRP의 예제가 될 수 있다.

2 . OCP : 개방-폐쇄 원칙

Open-Closed Principle 개방 폐쇄 원칙이란 기존의 코드를 변경하지 않으면서 기능을 추가할 수 있도록 설계되어야 한다는 뜻이다. OCP를 또 하나의 관점은 클래스를 변경하지 않고도 대상 클래스의 환경을 변경할 수 있는 설계가 되어야 한다. 이를 위해 Mock Stub 등의 객체들이 사용되며 특히 단위테스트에서 이러한 것들이 유용하게 사용된다.

3 . LSP : 리스코프 치환 원칙

Liskov Substitution Principle 리스코프 치환 원칙은 일반화 관계에 대한 이야기이며 자식 클래스는 최소한 자신의 부모 클래스에서 가능한 행위를 수행할 수 있어야 한다는 의미이다.이를 위해 부모 클래스와 자식 클래스의 행위는 일관되어야 한다.
부모가 수행하고 있는 책임을 그대로 수행하면서 추가적인 필드나 기능을 제공하려는 경우에만 상속을 하는 것이 바람직하며 부모 클래스의 책임을 변화시키는 기능은 LSP 법칙에 위배 된다고 볼 수 있다.

4 . DIP : 의존 역전 원칙

Dependency Inversion Principle 의존 역전 원칙은 의존 관계를 맺을 때 변화하기 쉬운 것 또는 자주 변화하는 것보다는 변화하기 어려운 것, 거의 변화가 없는 것에 의존하라는 가이드라인을 제공하는 원칙이다.

5 . ISP : 인터페이스 분리 원칙

Interface Segregation Principle 인터페이스 분리 원칙은 클라이언트에서는 클라이언트 자신이 이용하지 않는 기능에는 영향을 받지 않아야 한다는 내용이 담겨 있다. 즉 인터페이스를 클라이언트에 특화되도록 분리시키라는 설계 원칙이라고 할 수 있다.

참고사이트 https://url.kr/shd7mn

profile
Junior Developer

0개의 댓글