• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

추상화비용이 발생한다는 것이 궁금합니다 영환님!

23.02.10 22:08 작성 조회수 493

0

영환님 인터페이스를 활용할 때 추상화 비용이라는 것이 발생한다고 하셨는데 구글링 검색해도 정확한 지식을 얻기 힘들어서 질문 드립니다.

수업 내용의 기능을 확장할 가능성이 없다면, 필요할 때 리팩터링해서 인터페이스를 도입하는 방법 등 수업 내용은 이해했으나 추상화라는 비용이 정확히 무엇인지 궁금합니다!

답변 1

답변을 작성해보세요.

7

안녕하세요. gjdbs2597님

추상화 비용이 발생한다는 것은 여러가지 의미가 있습니다. 그 중에 가장 어려운 것은 코드가 복잡해진다는 것입니다. 추상화가 없다면 그냥 코드를 따라가면 되는데, 추상화가 있으면 추상 인터페이스를 보고 어떤 구현체가 실제 동작할지 또 추가로 찾아야 하는 과정을 거쳐야 합니다. 쉽게 이야기해서 코드를 계속 따라가기가 어렵습니다.

이 부분은 성능에 대한 부분이라기 보다는 복잡도에 대한 부분입니다.

추상화를 하면 구현체를 갈아끼울 수 있어서 확장성이 늘어나기 때문에 유지보수하기 더 좋아지는 부분도 있지만, 반대로 추상화가 꼭 필요하지 않은 곳 까지 추상화하게 되면 코드를 유지보수하기 더 어려워 질 수 있습니다.

경험 많은 좋은 개발자라면 이런 부분을 적절히 잘 선택할 수 있어야 합니다.

감사합니다.