DI란
의존성 주입이라는 뜻으로 객체를 직접 생성하는 게 아니라 외부에서 생성한 후 주입시켜 주는 방식이며
이를 통해 객체간 결합도를 줄이고 코드의 확장성과 유지보수성을 향상할 수 있습니다.
IoC란
제어의 역전을 뜻하며 DI도 IoC를 구현하기 위한 방법중 하나입니다.
메서드나 객체의 호출 작업을 개발자가 결정하는것이 아니라 외부에서 결정되는 것을 의미합니다. IoC가 적용된 대표적인 기술로 프레임워크를 들 수 있습니다. 프레임 워크는 개발자가 작성한 코드를 제어하고 대신 실행해 줍니다. 이를 통해 객체 간 결합도를 줄이고 유연한 코드 작성이 가능하며 , 가독성 향상, 코드 중복 방지, 유지 보수에 있어 용이함 등을 기대할 수 있습니다.
객체지향 프로그래밍이란?
프로그램을 객체들의 모임으로 보는 프로그래밍 패러다임을 뜻하며 데이터를 추상화시켜 객체를 생성하고 그 객체들 간의 상호작용으로 로직을 구성하는 프로그래밍 방법입니다.
캡슐화를 통해서 코드의 유지보수성을 향상시키고,
상속을 통해 코드의 재사용성을 높일 수 있으며,
다형성을 통해 유연하고 확장가능한 코드를 작성할 수 있으며,
추상화를 통해서 가독성과 코드 수정시 시간을 단축시킬 수 있습니다.