2023/08/03 2

[Spring] DI, IoC 컨테이너

DI, IoC, 컨테이너와 같은 개념들은 Spring Framework의 가장 기본적인 특징입니다. 1. IoC(Inversion of Control, 제어의 역전) 프로그램의 제어 흐름을 프로그래머가 직접적으로 제어하는 것이 아니라, 외부에서 관리하는 것 프로그래머가 객체를 생성할 때, 직접 생성하는 것이 아니라 스프링 컨테이너에서 생성하고 등록된 객체(Bean)를 가져오는 것입니다. 즉, 제어권을 본인이 아닌, 프레임워크(Spring 컨테이너)에게 넘겨줬기 때문에 IoC라는 개념이 도입됐습니다. 2. DI(Dependency Injection, 의존관계 주입) 애플리케이션 실행 시점에 외부에서 실제 구현 객체를 생성하고, 클라이언트에 전달해서 클라이언트와 서버의 실제 의존관계가 연결되는 것 Sprin..

Java/Spring 2023.08.03

[Spring] SOLID 원칙에 대해 알아보자

SOLID 원칙이란 좋은 객체 지향 설계를 하기 위한 5가지 원칙입니다. SRP, OCP, LSP, ISP, DIP 총 5가지가 있는데, 이 원칙에 대해 알아보도록 하겠습니다. 1. SRP(Single Responsibility Principle, 단일 책임 원칙) 한 클래스는 하나의 책임을 가져야 하는 원칙 변경이 있을 때, 변경에 대한 파급효과가 적으면 SRP를 준수하고 있다는 것입니다. 2. OCP(Open/Closed Principle, 개방-폐쇄 원칙) 소프트웨어 요소는 확장에는 열려 있어야 되지만, 변경에는 닫혀 있어야 하는 원칙 (다형성) 다형성은 인터페이스를 구현한 객체 인스턴스를 실행 시점에 유연하게 변경할 수 있어야 하는 개념입니다. 클라리언트를 변경하지 않으면서, 서버의 구현 기능을 ..

Java/Spring 2023.08.03