목록전체 글 (29)
( •̀ ω •́ )✧

※ 본 내용은 강의를 수강하며 정리한 글입니다 👉 강의 링크 https://heyitzme.tistory.com/41 Spring 핵심 기능 - DI(Dependency Injection) ※ 본 내용은 강의를 수강하며 정리한 글입니다 👉 강의 링크 DI (Dependency Injection) DI는 ‘종속성 주입’, 결론부터 말하자면 ‘부품 조립’에 해당한다. Dependency = 종속성 Injection = 주입 두 단어 heyitzme.tistory.com 저번 포스팅에서 알아본 것처럼 spring의 핵심 기능 중 하나가 DI, 즉 ‘부품 조립’이다. Spring이 부품 조립을 하기 위해서는 개발자가 사용할 부품들을 명시한 ‘주문서’를 제공해야 한다. Spring은 주문서대로 부품을 조립하는 역..

※ 본 내용은 강의를 수강하며 정리한 글입니다 👉 강의 링크 DI (Dependency Injection) DI는 ‘종속성 주입’, 결론부터 말하자면 ‘부품 조립’에 해당한다. Dependency = 종속성 Injection = 주입 두 단어 모두 난해하게 느껴진다. 아래에서 두 단어가 각각 의미하는 바를 알아보도록 하자. Dependency = 종속성 = 부품 프로그램은 객체들의 조립관계로 만들어진다. 객체는 곧 부품이다. 이를테면, A class에서 B를 객체화해서 사용하는 경우를 생각해보자. 1. 일체형 관계 (A class가 생성될 때 A가 직접 B를 생성해서 사용) class A { private B b; public A() { b = new B(); } } 2. 조립형 관계 (A 객체에 B 객..
※ 본 내용은 강의를 수강하며 정리한 글입니다 👉 강의 링크 https://heyitzme.tistory.com/38 [Java] 인터페이스의 구현 ※ 본 내용은 강의를 수강하며 정리한 글입니다 👉 강의 링크 초기 상태 초기 상태는 위와 같다. main class인 Program과 A, B가 결합력이 강한 상태로 결합되어 있다. 위 코드를 도식화하면 이 그림과 heyitzme.tistory.com 위 글에서는 인터페이스를 통해 A 객체와 결합될 객체를 B, C, ... 로 자유롭게 대체할 수 있다는 가능성까지 제시하였다. 하지만 여전히, B를 C로 대체하기 위해서는 main class의 코드 수정이 불가피하다. 만약 교체가 자주 일어나는 객체의 자리라면, 아래와 같이 설정 부분을 외부 파일로 빼내고 코드..

※ 본 내용은 강의를 수강하며 정리한 글입니다 👉 강의 링크 초기 상태 초기 상태는 위와 같다. main class인 Program과 A, B가 결합력이 강한 상태로 결합되어 있다. 위 코드를 도식화하면 이 그림과 같다. 지금은 A와 B가 결합되어 있고, B가 있으므로 문제가 없다. 하지만 만약 B가 없는 상황이라면, A는 구현될 수 없다. 따라서, B가 없는 상황을 상정하고 A에 인터페이스(X)를 구현하여 추후 B를 사용할 수 있도록 바꿀 것이다. 인터페이스 구현 전체 코드는 위와 같다. 클래스별로 자세히 살펴보자. 📁 class A package ex6; public class A { // private B b; // B객체를 대체할 수 있는 인터페이스 X private X x; // 나중에 X를 참..

※ 본 내용은 강의를 수강하며 정리한 글입니다 👉 강의 링크 인터페이스는 무엇인가? 어떤 것, 어떤 장소, 어떤 시간에 접근하고자 하지만 일반적인 방법으로는 접근할 수 없다. 접근할 수 있는 도구나 방법이 있다면 그것을 ‘인터페이스’라고 한다. 쉽게 생각하면, 인터스텔라에서 다른 우주에 접근하기 위한 도구로 웜홀이 있는데, 그것을 인터페이스로 볼 수 있다. 프로그래밍에서는 코드의 분리를 위해 고안된 개념이다. 가령, 배터리 분리형 스마트폰을 상상해보자. 💡 배터리를 분리하는 이유는 무엇일까? 하나의 스마트폰에 다양한 업체의 배터리를 교체하기 위해 하나의 배터리를 다양한 업체의 스마트폰에 호환하기 위해 아무튼 스마트폰 제조 상황과 배터리 제조 상황을 분리하여 진행하기 위함이라 생각하자. 그렇다면, 💡배터리..