의존성 주입(Dependency Injection)

2023. 12. 18. 00:51·개발툴/Unity

✅ 의존성 주입(Dependency Injection)

객체간의 의존성을 외부에서 주입하는 방식으로 소프트웨어 디자인 패턴 중 하나이다.

의존성

  • 한 객체가 다른 객체를 사용할 때 의존성이 있다고 한다.
public class Store {

    private Pencil pencil;

}
출처: <https://mangkyu.tistory.com/150> [MangKyu's Diary:티스토리]

의존성 주입

  • 두 객체 간의 관계(의존성)을 맺어주는 것을 의존성 주입이라고 한다.
  • 생성자 주입, 필드 주입, 수정자 주입등 다양한 주입 방법이 있다.

의존성 주입의 필요성

  • 강한 결합의 문제
    • 유연하지 못해서 제약이 많고 확장성이 떨어진다.
  • 객체끼리가 아닌 클래스끼리 관계 맺음의 문제
    • 객체지향적 설계라고 볼 수 없다.

의존성 주입 방법

  • Interface를 만들어 다형성을 통해 해결한다.
  • (예시 코드는 참고자료에 잘 적혀있음)
의존성 역전(IOC)
인터페이스를 사용해서 의존성의 방향을 바꾸는 것
이를 통해 코드 변경없이 유연하게 클래스간 변경이 가능하다

📜참고자료

DI (Dependency Injection) 의존성 주입을 왜 하나요?

[Spring] 의존성 주입(Dependency Injection, DI)이란? 및 Spring이 의존성 주입을 지원하는 이유

'개발툴 > Unity' 카테고리의 다른 글

UniRX 실습 - 간단한 MessageBox 만들기  (0) 2023.12.25
UniRxWorkBook - Operator  (1) 2023.12.24
Reflex 실습 - UniRx와 Reflex를 활용한 간단한 카운터 만들기  (0) 2023.12.18
Reflex (Github Readme 번역)  (1) 2023.12.18
Unity에서 ChatGPT 사용하기  (0) 2023.10.24
'개발툴/Unity' 카테고리의 다른 글
  • UniRX 실습 - 간단한 MessageBox 만들기
  • UniRxWorkBook - Operator
  • Reflex 실습 - UniRx와 Reflex를 활용한 간단한 카운터 만들기
  • Reflex (Github Readme 번역)
가든_
가든_
  • 가든_
    Code Garden
    가든_
  • 전체
    오늘
    어제
    • 글 목록 (60)
      • 프로그래밍 언어 (11)
        • JAVA (0)
        • C++ (2)
        • C# (9)
      • 개발툴 (24)
        • Visual Studio (0)
        • Visual Studio Code (1)
        • Eclipse (1)
        • Unity (19)
        • Unreal (0)
        • Spring (1)
        • SpringBoot (0)
        • Vue (2)
      • 디자인 패턴 (6)
      • 백엔드 (4)
        • MySQL (1)
        • Servlet (3)
      • 프론트엔드 (4)
        • HTML (3)
        • CSS (0)
        • Javascript (1)
      • 알고리즘 (10)
        • 공식 (3)
        • 백준 (6)
        • SW Expert Academy (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    c#
    Adaptee
    Java
    오브젝터 어댑터
    스택
    Adapter 패턴
    HTML
    상태공간트리
    RDBM
    Unity
    SetTile
    Abstract Factory 패턴
    컴파일 상수
    DI
    Proxy 패턴
    MVC
    UniRX
    ()=>
    구조패턴
    런타임 상수
    다이어그램 그리기
    행동 UML 다이어그램
    FixedUpdate
    Reflex
    Factory 패턴
    chatGPT
    클래스 어댑터
    12738
    swea2112
    구조적 UML 다이어그램
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
가든_
의존성 주입(Dependency Injection)
상단으로

티스토리툴바