BE/Spring

객체지향 5원칙(S.O.L.I.D)

lzL 2022. 2. 26. 01:18

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

하나의 클래스나 모듈은 한 가지 일만 해야 한다.

 = 한 가지 책임

    = 변경할 이유가 오직 한 가지

 

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

클래스는 확장에 있어서는 개방적이어야 하지만, 수정에 있어서는 폐쇄적이어야 한다.

 = 새로운 기능 추가 시 기존 코드를 바꾸지 않는 한에서

 

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

객체는 하위 인스턴스를 바꿀 때 프로그램의 정확성을 유지해라.

 

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

일반적인 하나의 인터페이스를 구현하지 말고 더 작고 특정한 인터페이스로 분리하라.

 

DIP(의존관계 역전 원칙 Dependency Inversion principle)

구체화된 클래스가 아닌 추상화된 클래스에 의존할 것