Scala/Dependency injection

이전 글에서 설명했다시피 일반적으로 사용되는 프로그래밍 언어인 C 계얼 언어, Java나 Kotlin 같은 프로그래밍 언어에서는 생성자 주입, setter 함수를 이용해 가장 일반적인 DI 패턴을 활용할 수 있습니다.Scala 언어에서는 이 두 가지 방법 외에도 trait와 self type을 이용해 Cake Pattern을 구현하고, 이를 통해 DI를 활용할 수 있습니다. TraitTrait는 자바의 interface와 매우 비슷하지만 몇 가지 추가적인 기능들을 제공해줍니다.먼저 다중 상속을 지원해주고, 메서드를 직접 구현할 수도 있으며, 특정 필드를 포함할 수 있습니다.자바8 이후의 interface는 이러한 기능들을 지원해주지만, scala는 훨씬 이전부터 이러한 기능들을 trait를 통해 지원해주..
Dependency injection (의존성 주입)DI는 dependency injection의 줄임말입니다. 프로그래밍을 하면서 모두 들어봤을 단어이고, Spring을 사용한다면 알든 모르든 모두가 사용하고 있는 개념입니다.DI를 번역하면 의존성 주입이라는 뜻이고, 개념을 말하자면 객체 지향 프로그래밍에서 객체 간의 의존성을 관리하는 설계 패턴 중 하나로, 객체가 자신의 의존성을 직접 생성하는 대신 외부에서 주입받는 방식입니다. 이 패턴을 사용하면 코드의 유연성과 재사용성을 높일 수 있으며, 테스트가 용이해집니다. Dependency injection의 주요 개념의존성 주입은 의존성과 주입의 두 가지 개념으로 나눠서 설명할 수 있습니다.의존성 (dependency) 정의 의존성은 한 객체가 다른 객체..