인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

suyeung13님의 프로필 이미지
suyeung13

작성한 질문수

스프링 핵심 원리 - 기본편

관심사의 분리

interface를 반드시 만들어야 하는지에 대한 기준

작성

·

183

1

안녕하세요,

실무에서 초급 개발자로 있는 학생입니다.

다름이 아니라, 강의에서 Impl 접미사는 보통 구현체가 1개일때 관용적으로 사용한다고 말씀해주셨는데 ,

구현체가 1개인 경우에도 interface를 선언하고 이를 구현해주는 이유가 있나요?

실무에서 코드를 보아도 모두 interface를 선언하고 이를 구현해주고 있는데 이에 대해 무의식적으로 따라하기만 했지 이유를 생각해본 적이 없어서요. 

수정개발을 하면 구현체 뿐 아니라 interface도 같이 변경해야해서 번거롭다고 느낄때도 있었구요.

정리하자면, 구현체가 1개인 경우 굳이 interface를 선언하고 구현하는 이유와 그에 따르는 장점 (단지 확장성 뿐인지)등이 궁금하여 이렇게 질문드립니다.

감사합니다.

답변 1

5

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. suyeung13님

저는 interface도 비용이라고 생각합니다.(추상화에 따른 비용, 개발의 번거로움 등등)

그래서 미래에도 다형성을 사용할 가능성이 없다면 꼭 interface를 만들 필요는 없다 생각합니다.

따라서 필요하지 않는 곳에는 interface를 도입하지 않는 것도 좋은 방법입니다.

활용1편 강의에서 보시면 알겠지만, 대부분의 서비스에 interface를 사용하지 않습니다^^

감사합니다.

suyeung13님의 프로필 이미지
suyeung13

작성한 질문수

질문하기