스프링 Service에서 ServiceImpl를 사용하는 이유 ?


스프링 Service에서 ServiceImpl를 사용하는 이유 ?

스프링 Service에서 ServiceImpl를 사용하는 이유? 대부분의 스프링 프로젝트에서 서비스를 구현할때 Service.java를 인터페이스로 만들고, ServiceImpl 이라는 구현체 클래스를 생성하여 사용한다. 왜 인터페이스와 구현체를 따로 두어 사용할까? ex) MemberService / MemberServiceImpl 1. OOP의 다형성, 개방-폐쇄 원칙 이론상으로는 인터페이스-구현체 패턴으로 설계하는 이유는 인터페이스와 구현체를 분리함으로써 구현체를 독립적으로 두고, 구현체 클래스를 변경하거나 확장해도 이를 사용하는 클라이언트의 코드에 영향을 주지 않도록 하기 위함. 이와 같은 추상화를 통한 구현방식은 객체지향의 특징인 다형성과, 개방-폐쇠원칙(OCP)을 지향하는 설계방식이다. 2.A..


원문링크 : 스프링 Service에서 ServiceImpl를 사용하는 이유 ?