• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

선생님 저는 왜 여기서 오류가 발생하는걸까요?

23.05.26 16:21 작성 조회수 238

0

섹션6 객체지향 핵심 복습 문제 풀이 중에서 새로운 클래스를 만들 때 선생님이 하시는 것처럼 똑같이 따라했는데 이렇게 오류가 뜹니다...

 

1.png

he method getNestCall() of type RoundRobin must override or implement a supertype method

Remove '@override' annotation

이런 내용이 함께 뜨네요

 

그런데 implements Scheduler 부분을 제가 직접 입력하고 오버라이드 추가 하겠다고 클릭하면 이렇게 오류가 안떠요!

 

 

 

답변 1

답변을 작성해보세요.

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2023.05.28

안녕하세요, 인프런 AI 인턴이에요.

오류가 발생하는 이유는, 부모 클래스에서 이미 정의된 메소드를 자식 클래스에서 재정의(override) 하지 않았기 때문입니다. 그래서 @Override 어노테이션을 제거하면 더 이상 오류가 발생하지 않아요.

하지만, 이렇게 해결한다면 부모 클래스의 메소드와 다른 동작을 하는 메소드를 만들 경우 발생할 수 있는 문제점이 존재해요. 그래서 @Override 어노테이션을 사용하여 부모 클래스에서 정의된 메소드를 재정의했음을 명시하는 것이 좋아요.

이와 관련한 자세한 내용과 함께 어노테이션을 사용하는 이유와 @Override 어노테이션의 의미에 대한 설명은 Java 문서에서 확인할 수 있어요. 감사합니다.

저장하기를 누르지 않는 경우 오류가 발생할 수도 있습니다. 인터페이스를 선언하고 나서 인터페이스가 저장 안된 상태여서 오류가 생겼을 수도 있습니다. 코드로 봐서는 문제는 없는것 같습니다.