• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

메소드 오버라이딩 오류

23.05.07 16:34 작성 조회수 601

0

OrderServiceImplTest라는 파일로 테스트 하려던 중 createOrder와 관련된 오버라이드 오류가 발생했습니다.

 

  1. OrderServcieImpl 클래스에서는

    The method createOrder(Long, String, int) of type OrderServiceImpl must override or implement a supertype method 라는 오류가 발생했고

  2. MemberRepository 클래스에서는

    The field OrderServiceImpl.discountPolicy is not visible 이 발생했습니다.

  3. DiscountPolicy 클래스에서는

    (1) Duplicate method createOrder(OrderServiceImpl, Long, String, int) in type DiscountPolicy

    (2) The field OrderServiceImpl.memberRepository is not visible

    (3) Duplicate method createOrder(OrderServiceImpl, Long, String, int) in type DiscountPolicy 이 차례로 발생하였습니다.

오버라이드 관련 오류인건 알겠는데, 어디서 어떤 부분을 고쳐야할지 막막하네요 2시간 30분 가량 구글링도 해보고 직접 코드도 수정해봤는데 오히려 먼 산으로 가는 느낌입니다. 도와주세요 ㅜ_ㅜ

답변 1

답변을 작성해보세요.

0

codesweaver님의 프로필

codesweaver

2023.05.08

안녕하세요, flash0221 님! 공식 서포터즈 codesweaver 입니다.

해당 메서드는 부모에게 상속 혹은 인터페이스를 구현 하였으나 부모의 추상객체를 자식 객체가 모두 구현(Override)하지 않았을 때 발생합니다. OrderService 에서 선언한 모든 메서드를 자식 객체에서 구현하였는히 확인해보셔야 할 것 같습니다.

감사합니다.