Interface OverImplementation

  • 인터페이스에서 불필요한 메소드를 구현하여 코드 중복 및 유지 관리 문제를 일으키는 상황을 말한다.
  • 이로 인해 코드가 비대해지고 유지 관리성이 저하되며 복잡성이 증가한다.

특징

  1. 중복 코드: 목적에 맞지 않는 불필요한 코드 추가로 비대해지고 가독성이 떨어짐
  2. 유지보수성 저하: 유지 관리 대상이 증가
  3. 복잡성 증가: 불필요한 메소드를 구현하면 코드 베이스가 더 복잡해지고 합류한 새로운 개발자의 진입 장벽이 된다.

원인

  1. 이해 부족
  2. 코드 복붙
  3. 계약 위반에 대한 두려움(정해진 계약을 준수해야한다는 압박감으로 어쩔 수 없이 구현)

해결책

  1. 요구 사항 재분석
  2. 디폴트 메소드를 사용
  3. 코드 리팩토링