강의

멘토링

커뮤니티

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

2403docB님의 프로필 이미지
2403docB

작성한 질문수

Do it! 자바 프로그래밍 입문 with 은종쌤

인터페이스 선언과 구현하기(1)

9:35 implements 선언할때

작성

·

164

0

public class Calculator implements Calc{

라고 선언할때 Calc만 빨간줄이 쳐지고, 

@Override

public int add(int num1, int num2) {

return 0;

}

라고 적으면 add(int num1, int num2)에 빨간줄이 쳐지면서, The method add(int, int) of type Calculator must override or implement a supertype method

라고 오류가 뜹니다.

답변 1

1

안녕하세요, super mint님!

자바 컴파일러 버전 문제인 것 같습니다.

jdk 1.5에서 @Override는 추상 함수와 interface만 사용이 가능합니다.

구현되어있는 함수를 override해서 사용하는 경우는 에러처리를 합니다.

jdk 1.6에서는 단순히 override를 하는 경우에도 에러처리를 하지 않습니다.

이를 변경하는 방법은 아래와 같습니다.

  • Window - Preference (또는 Project Properties) 를 클릭
  • Java - Compiler 선택
  • Compiler Compliance Level이 1.5로 되어있을 때 에러가 발생합니다.
    Compiler Compliance Level을 1.6 이상으로 바꾸어주세요.

혹시 궁금하신 점이 있다면 댓글 남겨주세요.

도움이 되었으면 좋겠습니다. :)

안녕하세요 강의 듣다가 저도 같은 오류가 나서 현지님의 답변대로 해봤습니다. 그런데 compiler compliance level 이  이미 1.6 이더라고요. 이건 왜 이러는 걸까요?

2403docB님의 프로필 이미지
2403docB

작성한 질문수

질문하기