본문 바로가기

Java

SOLID

728x90

SRP

- Single responsibility principle

- 하나의 클래스는 하나의 책임

- 변경이 있을 때 파급 효과가 적어야 함

 

OCP

- Open/closed principle

- 확장에는 열려 있으나 변경에는 닫혀 있음

- 다형성 활용해도 OCP 원칙을 지킬 수 없음

- 객체 생성하고 연관관계를 설정해주는 설정자가 필요하며 Spring Container가 이를 수행해줌

 

LSP

- Liskov substitution principle

- 프로그램 객체는 하위 타입의 인스턴스로 바꿀 수 있음

 

ISP

- Interface segregation principle

- 특정 클라이언트를 위한 인터페이스를 분리

- 대체 가능성이 높아지고 명확해지는 장점이 있음

 

DIP

- Dependency inversion principle

- 구현 클래스에 의존하지 말고 인터페이스에 의존하라는 의미

- 다형성 만으로는 이를 지키기 힘듦

 

Spring

- DI (Dependency Injection): 의존관계, 의존성 주입

- DI 기술로 OCP, DIP를 쉽게 지키도록 구현

300x250

'Java' 카테고리의 다른 글

람다 표현식  (0) 2023.07.09
Java의 함수형 인터페이스  (0) 2023.07.09
함수형 인터페이스와 람다 표현식  (0) 2023.07.06
비즈니스 요구사항 설계  (0) 2022.07.20
좋은 객체지향이란?  (0) 2022.07.18