CS/소프트웨어개발방법론

객체 지향 설계 5원칙 SOLID

씩씩한 IT블로그 2022. 2. 13. 16:20
반응형

SRP(the single responsibility principle) : 단일책임의 원칙

- 하나의 클래스는 하나의 method만을 갖게 됨에 따라 수정에 대한 이유는 한가지가 되어야 함.

- 실제로 사용이 어렵다)

 

OCP(the open closed principle) : 개방 폐쇄의 원칙

- 하나의 클래스는 수정에는 페쇄되어 있고, 확장에는 개방되어 있어야 한다.

- 다형성과 추상화에 관련된 내용

- 기능 개선시 직접적인 수정보다는 상속을 통한 개선이 좋음

 

LSP(the Liskov Substitution Principle) : 리스코프 치환의 원칙

- 상속을 하게 되는 경우 IS-A 관계가 성립하기 때문에 지켜져야 하는 원칙

- 하위클래스는 상위클래스로 참조가 가능한 상속와 관련된 원칙

 

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

- 사용자별로 다른 방식의 인터페이스가 제공되도록 설계되어야 함.

- ex) 일반사용자와 관리자에게 주어지는 인터페이스가 달라야 하는 것

 

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

- 의존성을 낮추기 위해 인터페이스를 통한 추상화로 최대한 느슨하게 설계하는 것

- 완전한 무결성, 독립성은 현실적으로 힘들다.

 

 

반응형