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

flash0221님의 프로필 이미지
flash0221

작성한 질문수

스프링 핵심 원리 - 기본편

메소드 오버라이딩 오류

작성

·

947

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

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

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

감사합니다.

flash0221님의 프로필 이미지
flash0221

작성한 질문수

질문하기