<aside> 📌 우리는 최초로 API를 만들어 보았습니다. GET API를 만들기 위해 사용했던 어노테이션에 익숙하지 않다면 자바 어노테이션에 대해서 몇 가지 블로그 글을 찾아보세요! 다음 질문을 생각하며 공부해보면 좋습니다! 😊
[질문]
주석
을 의미함@
를 붙여서 사용함@Override
public class Animal {
public void display() {
System.out.println("I am an animal");
}
}
public class Dog extends Animal {
@Override
public void display() {
System.out.println("I am a dog");
}
}
@Deprecated
public class Utility {
@Deprecated
public void deprecatedMethod() {
System.out.println("This method is deprecated");
}
}
@SuppressWarnings
@SuppressWarnings("deprecation")
public void useDeprecatedMethod() {
// deprecation warning
// - suppressed
objectOne.deprecatedMethod();
}
다음과 같은 기능을 제공하여 프로그래밍의 효율성과 정확성을 높이기 때문
컴파일러에게 코드 작성 문법 에러를 체크하도록 정보를 제공하는 예시 (@Override
)
상위 클래스
public class AnnotationTest{
public int addTwoNumbers(int number1, int number2) {
return number1 + number2;
}
}
하위 클래스
public class AnnotationTestImpl extends AnnotationTest {
@Override
public int addTwoNumbers(int number1, int number2) {
return super.addTwoNumbers(number1, number2);
}
}
[하위 클래스 수정(오버라이딩 X)]
public class AnnotationTestImpl extends AnnotationTest {
// method does not override or implement a method from a supertype 오류 발생
@Override
public int addTwoNumbers(int number1) {
return number1;
}
}
@Override
를 사용하였으나, 상위 클래스의 메소드를 오버라이딩하지 않는 경우 ⇒ 컴파일 오류 발생
(오류 내용 :method does not override or implement a method from a supertype
)
<실행 결과>