본문 바로가기
Spring 프레임워크/메모

인터페이스 개념 메모

by Hwanii_ 2023. 9. 21.
728x90

1.

FrontController 패턴

 

기존 FrontController 패턴으로 개발을 했을 때는  (스프링 프레임워크 사용 이전)

 

필요한 DAO를 직접 이용 했었다.

 

이것의 단점은 결합도가 높기 때문에 유지 보수에 불리하다는것 이였다.

 

따라서,

Controller 와 DAO 사이에 Service Interface 를 생성 하면,

Controller 가 직접적으로 DAO를 사용하는게 아니라,

Service가 DAO를 사용하는 방식으로 변경 되므로,

결합도가 낮아지고 유지보수가 유리해진다.

 

왜그럴까 ?

 

Service 가 Interface 를 멤버 변수 (의존 관계) 로 가지고 있으면,

(인터페이스의 다형성)

 

@ 어노테이션으로 어떤 클래스에 설정하는지에 따라서 객체화된 특정 객체를 주입 받을 수 있다.

 

즉, 코드가 변경되지 않아서 결합도가 낮아지고 유지 보수가 용이해지는 것이다.

 

2.

인터페이스는 왜 중요 할까 ?

 

메서드 강제성을 부여 받음에 따라, 개발 실수의 빈도수가 줄어들고,

반드시 구현해야 하는 메서드를 구현 할 수 밖에 없게 되고,

오버라이딩 (메서드 재정의) 를 실현 하기 유리 하다.

반응형