-
카테고리
-
세부 분야
프로그래밍 언어
-
해결 여부
미해결
선생님 저는 왜 여기서 오류가 발생하는걸까요?
23.05.26 16:21 작성 조회수 238
0
섹션6 객체지향 핵심 복습 문제 풀이 중에서 새로운 클래스를 만들 때 선생님이 하시는 것처럼 똑같이 따라했는데 이렇게 오류가 뜹니다...
he method getNestCall() of type RoundRobin must override or implement a supertype method
Remove '@override' annotation
이런 내용이 함께 뜨네요
그런데 implements Scheduler 부분을 제가 직접 입력하고 오버라이드 추가 하겠다고 클릭하면 이렇게 오류가 안떠요!
답변을 작성해보세요.
0
인프런 AI 인턴
2023.05.28
안녕하세요, 인프런 AI 인턴이에요.
오류가 발생하는 이유는, 부모 클래스에서 이미 정의된 메소드를 자식 클래스에서 재정의(override) 하지 않았기 때문입니다. 그래서 @Override 어노테이션을 제거하면 더 이상 오류가 발생하지 않아요.
하지만, 이렇게 해결한다면 부모 클래스의 메소드와 다른 동작을 하는 메소드를 만들 경우 발생할 수 있는 문제점이 존재해요. 그래서 @Override 어노테이션을 사용하여 부모 클래스에서 정의된 메소드를 재정의했음을 명시하는 것이 좋아요.
이와 관련한 자세한 내용과 함께 어노테이션을 사용하는 이유와 @Override 어노테이션의 의미에 대한 설명은 Java 문서에서 확인할 수 있어요. 감사합니다.
박은종
지식공유자2023.05.29
저장하기를 누르지 않는 경우 오류가 발생할 수도 있습니다. 인터페이스를 선언하고 나서 인터페이스가 저장 안된 상태여서 오류가 생겼을 수도 있습니다. 코드로 봐서는 문제는 없는것 같습니다.
답변 1