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

쑾P님의 프로필 이미지
쑾P

작성한 질문수

자바 기초부터 마스터하기 with 은종쌤 (Do it 자바 프로그래밍 입문) - Part 1(기초편)

인터페이스를 활용한 정책 프로그래밍 구현

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

작성

·

315

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 인턴이에요.

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

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

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

박은종님의 프로필 이미지
박은종
지식공유자

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

쑾P님의 프로필 이미지
쑾P

작성한 질문수

질문하기