개발 공부/TIL

[TIL 2024-01-11 ] SOLID 좋은 객체 지향 설계 5가지 법칙

감자민성 2024. 1. 11. 10:11

1. SRP(Single responsi단일 책임 원칙) : 한 클래스는 하나의 책임만 가져야 한다. -> 코드를 변경했을 때 파급이 작음.

 

2. OCP(open/closed principle) 개방-폐쇄 법칙 : 확장에는 열려있으나 변경에는 닫혀있다.
 -> 다형성 활용

 -> 인터페이스를 구현한 새로운 클래스를 하나 만들어서 기능을 구현

 

3. LSP(리스코프 치환법칙) : 기능적으로 보장 (액셀은 앞으로 가자 -> 뒤로 가면 위반)

 

4. ISP (Interface Segregation principle 인터페이스 분리 법칙) : 특정 클라이언트를 위한 인터페이스 여러 개가 범용 인터페이스 하나보다 낫다.

 

5. DIP (Dependency inversion principle 의존관계 역전 원칙) : 클라이언트 코드가 구현 클래스에 의존하지 말고 인터페이스에 의존해야 함.
 -> 의존성 주입이 이 원칙을 따르는 방법 중 하나