솔리드원칙 객체지향(OOP) 5원칙

성난호랑이 시니철 ㅣ 2024. 5. 24. 09:20

1. (S) 단일 책임 원칙

2. (O) 개방 폐쇄 원칙

3. (L) 리스코프 치환 원칙

4. (I) 인터페이스 분리 원칙

5. (D) 의존성 역전 원칙

 

위 5가지를 솔리드 원칙이라고합니다. 

아래 내용은 제가 찾아보고 간단하게 이해한 내용을 정리한것입니다.

 

다른사람과 다를수도있습니다.

 

1. (S) 단일 책임 원칙  Single Responsibility Principle

 한 클래스는 하나의 기능만 있어야한다.

 

2. (O) 개방 폐쇄 원칙 Open Closed Priciple
 클래스 안에서 추가는 가능하지만 수정에 기존 리소스를 건드리면 안된다. 

3. (L) 리스코프 치환 원칙 Listov Substitution Priciple
 하위(자식) 타입은 항상 상위(부모) 타입을 대체 할 수 있어야 한다. ( 상속받아서 사용 )

4. (I) 인터페이스 분리 원칙 Interface Segregation Principle
인터페이스 내에 메소드는 최소한 일수록 좋다. (하나의 일반적인 인터페이스보다 여러 개의 구체적인 인터페이스가 낫다.) SRP와 같은 문제에 대한 두 가지 다른 해결책이다.

5. (D) 의존성 역전 원칙 Dependency Inversion Principle
구체적인 클래스보다 상위 클래스, 인터페이스, 추상클래스와 같이 변하지 않을 가능성이 높은 클래스와 관계를 맺어라. DIP 원칙을 따르는 가장 인기 있는 방법은 의존성 주입(DI)이다.

참조 : https://modulabs.co.kr/blog/oop-solid/?fbclid=IwZXh0bgNhZW0CMTEAAR0lRHFS92ydf-qU1Ykx5RAzBTZ7djjhzdf19TkAHFp3nXgtOizZcHDlFZo_aem_AWV2udu7max1Br9pkIH7n9OsHTmDhv78JSnyEBscAbUILqMjg730MmuzWtg9cRoCLIRcfZKvMyHhn13JAuiUW42b&mibextid=K35XfP