카테고리 없음
20241028 49일차
happyst
2024. 10. 28. 17:43
[DI (Dependency Injection)]
-클래스 관계 : has - a 관계
* Composition: 부품 객체의 라이프사이클이 전체 객체의 라이프사이클과 동일함
* Association: 모든 객체가 각자의 라이프사이클을 가지고 있고, 한 객체가 다른 객체를 소유하지 않는 경우
- OOP에서 의존성을 주입하는 방식은 setter 주입과 constructor 주입 방식이 있음
- 스프링에서는 이러한 인스턴스 생성, 의존성 주입을 개발자 대신 해줌
[IoC (Inversion of Control)]
- 개발자가 직접 부품을 만들고 조립하지 않는다
- 작은 부품을 먼저 만들고 조립하는 방식
요즘은 불변성 보장을 위해 필드 주입, setter 주입보다는 생성자 주입을 선호함
- final 키워드를 통해 멤버 변수를 설정
Controller <-- (DTO) --> Service <-- (DO) --> Repository