/ JAVAJUNGSUK

Ch12-23~26. 애너테이션

자바의 정석 기초편

0. 목차



Chapter12. 지네릭스, 열거형, 애너테이션

Ch12 - 23. 애너테이션이란?

Ch12 - 24. 표준 애너테이션

Ch11 - 25. @Override

Ch11 - 26. @Deprecated



Ch12 - 23. 애너테이션이란?


▶ 애너테이션이란?

▷ 주석처럼 프로그래밍 언어에 영향 미치지 않음
▷ 유용한 정보를 제공


  • 애너테이션 사용 예
      @Test // JUnit에서 제공하는 단위 테스트 프로그램, @하나 붙이면 좋은 기능을 쉽게 사용 가능
      public void method() {
          ...
      }
    



Ch12 - 24. 표준 애너테이션


▶ 표준 애너테이션이란?

▷ Java에서 제공하는 애너테이션



Ch12 - 25. @Override


▶ @Override란?

▷ 오버라이딩을 올바르게 했는지 컴파일러가 체크하게 함
▷ javac.exe가 사용하는 기능


▶ @Override 사용 예시

▷ 오버라이딩 시 메서드 이름을 잘못적는 실수가 많음
class Parent {
  void parentMethod() { }
}

class Child extends Parent {
  void parentmethod() { } // OK, 오버라이딩하려 했으나 M아닌 m을 적음 → 새로운 메서드 만든 격
}
▷ 컴파일 시에는 새로운 메서드 만드는 건 문제되지 않음
▷ 즉 컴파일러는 오버라이딩 하려다 오타난 걸 모름
▷ 그래서 오버라이딩 시 메서드 선언부 앞에 @Override를 붙임
class Parent {
  void parentMethod() { }
}

class Child extends Parent {
  @Override
  void parentmethod() { } // ERROR!
}



Ch12 - 26. @Deprecated


▶ @Deprecated란?

▷ 앞으로 사용하지 않을 것을 권장하는 필드나 메서드에 붙임


▶ @Deprecated 사용 예시

▷ Data 클래스의 getDate()
@Deprecated // 사용하지 말 것을 권함
public int getDate() {
  return normalize().getDayOfMonth();
}
  • getData()는 Java API문서에도 Deprecated라고 작성되어 있음