클래스 의존과 인터페이스 의존

ttaho·2023년 3월 8일
0

Spring 기초

목록 보기
1/11

스프링 프레임워크의 핵심적인 기능 두가지 중 하나인 의존성에대해 알아보자.

우선 덧셈연산(AddCalc)과 뺄셈연산(SubCalc)의 기능을 구현해보자.
클래스 의존인 경우,

위와 같이 생성해 주었다.


덧셈연산을 구현하였을때 코드는 위와 같다.
이때, 뺄셈연산을 위해 코드를 수정해 주어야 한다면 클래스 의존인 경우엔 3군데를 수정해 주어야 한다. 이는 많은 양의 작업을 요구한다.

하지만 인터페이스 의존인 경우는 다르다

위와 같이 인터페이스에 calc메소드를 만들어준다. 그리고 덧셈,뺄셈계산 클래스에 implements Calculator를 넣어준다.

그리고 Call클래스에서 덧셈연산 클래스를 인스턴스화 하고, 인터페이스인 Calculator a에 넣어준다. 이제 뺄셈을 하려면 new AddCalc()만 new SubCalc()로 수정하면 된다.
이렇게 인터페이스 의존성 주입을 사용하면 많은양의 작업을 줄일 수 있다.

profile
백엔드 꿈나무

0개의 댓글