[Spring] 객체지향 설계의 SOLID 원칙

우쓰·2023년 11월 15일
0

Spring

목록 보기
2/6

SRP (Single responsibility principle) : 단일 책임 원칙

한 클래스는 하나의 책임만 가져야 한다.
변경이 있을 때 파급 효과가 적으면 단일 책임 원칙을 잘 따른 것이다.


OCP (Open/closed principle) : 개방 폐쇄 원칙

다형성을 활용하여 확장에는 열려 있고 변경에는 닫혀 있어야 한다.
-> 기존의 코드를 변경하지 않으면서 확장
모듈을 변경할 때마다 기존 모듈을 수정해야하기 때문에 시간이 오래 걸리고, 오류가 발생하기 쉽기때문이다.


LSP (Liskov substitition principle) : 리스코프 치환 원칙

프로그램의 객체는 프로그램의 정확성을 깨뜨리지 않으면서 하위 타입의 인스턴스로 바꿀 수 있어야 한다.


ISP (Interface segregation principle) : 인터페이스 분리 원칙

특정 클라이언트를 위한 인터페이스 여러 개가 범용 인터페이스 하나보다 낫다.


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

추상화에 의존해야지 구체화에 의존하면 안된다.

구체클래스에도 의존을 하게 되면 클래스간 결합도가 올라가
유지보수가 어려워진다.
따라서 추상화에만 의존하여 클래스간 결합도를 낮추어야 유지보수가 쉬워진다.

(의존한다? -> 코드를 알고있다라고 이해하면 된다.)

0개의 댓글