Ch12-23~26. 애너테이션
0. 목차
Chapter12. 지네릭스, 열거형, 애너테이션
Ch12 - 23. 애너테이션이란?
Ch12 - 24. 표준 애너테이션
Ch11 - 25. @Override
Ch11 - 26. @Deprecated
Ch12 - 23. 애너테이션이란?
▶ 애너테이션이란?
▷ 주석처럼 프로그래밍 언어에 영향 미치지 않음
▷ 유용한 정보를 제공
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라고 작성되어 있음