[Unity] 의존성 주입
본문 로딩 중...
댓글 0
댓글을 작성하려면 로그인이 필요합니다.
아직 댓글이 없습니다. 첫 번째 댓글을 작성해보세요.
클래스가 자신이 필요로 하는 객체(의존성)를 직접 생성하지 않고 외부에서 전달받는 설계 방식이다.
Before (직접 생성)
public class Player
{
private WeaponSystem weapon;
public Player()
{
weapon = new WeaponSystem(); // 직접 생성 — 강하게 결합됨
}
}
After (의존성 주입)
public class Player
{
private WeaponSystem weapon;
public Player(WeaponSystem weapon) // 외부에서 주입받음
{
this.weapon = weapon;
}
}
주입 방식 3가지
Unity에서 DI가 특히 필요한 이유
Unity는 MonoBehaviour를 new로 직접 생성할 수 없고, 반드시 씬에 배치해야 한다. 그래서 전통적인 DI 패턴을 그대로 적용하기는 까다롭다. VContainer 같은 프레임워크는 LifetimeScope를 통해 이 문제를 해결해준다.
![[Unity] LOD](https://data.develog.develrocket.com/upload/develog/user_1777093328305/1789912609623-ww36y9/_____2026-09-20_225147.png)