작성
·
174
1
안녕하세요,
실무에서 초급 개발자로 있는 학생입니다.
다름이 아니라, 강의에서 Impl 접미사는 보통 구현체가 1개일때 관용적으로 사용한다고 말씀해주셨는데 ,
구현체가 1개인 경우에도 interface를 선언하고 이를 구현해주는 이유가 있나요?
실무에서 코드를 보아도 모두 interface를 선언하고 이를 구현해주고 있는데 이에 대해 무의식적으로 따라하기만 했지 이유를 생각해본 적이 없어서요.
수정개발을 하면 구현체 뿐 아니라 interface도 같이 변경해야해서 번거롭다고 느낄때도 있었구요.
정리하자면, 구현체가 1개인 경우 굳이 interface를 선언하고 구현하는 이유와 그에 따르는 장점 (단지 확장성 뿐인지)등이 궁금하여 이렇게 질문드립니다.
감사합니다.
답변 1
5
안녕하세요. suyeung13님
저는 interface도 비용이라고 생각합니다.(추상화에 따른 비용, 개발의 번거로움 등등)
그래서 미래에도 다형성을 사용할 가능성이 없다면 꼭 interface를 만들 필요는 없다 생각합니다.
따라서 필요하지 않는 곳에는 interface를 도입하지 않는 것도 좋은 방법입니다.
활용1편 강의에서 보시면 알겠지만, 대부분의 서비스에 interface를 사용하지 않습니다^^
감사합니다.