728x90
자바가 기본으로 제공하는 애너테이션 중 보통의 프로그래머에게 가장 중요한 것은 @Override일 것이다.
@Override는 메서드 선언에만 달 수 있으며, 이 애너테이션이 달렸다는 것은 상위 타입의 메서드를 재정의했음을 뜻한다.
이 애너테이션을 일관되게 사용하면 여러 가지 악명 높은 버그들을 예방해준다.
상위 클래스의 메서드를 재정의하려는 모든 메서드에 @Override 애너테이션을 달자.
특정 메서드를 재정의할 때 잘 못 구현하면 메서드를 새로 정의하게 되어버린다.
@Override 애너테이션을 붙이면 컴파일 할 때 컴파일러가 오류를 찾아낼 수 있다.
@Override는 클래스뿐 아니라 인터페이스의 메서드를 재정의할 때도 사용할 수 있다.
재정의한 모든 메서드에 @Override 애너테이션을 의식적으로 달면 실수 했을 때 컴파일러가 바로 알려준다.
예외는 한가지 뿐이다. 구체 클래스에서 상위 클래스의 추상 메서드를 재정의한 경우엔 이 애너테이션을 달지 않아도 된다. ( 달아도 되긴 하다 )
728x90
'JAVA > 이펙티브 자바' 카테고리의 다른 글
42. 익명 클래스보다는 람다를 사용하라 ( 람다 표현식 ) (0) | 2023.07.31 |
---|---|
41. 정의하려는 것이 타입이라면 마커 인터페이스를 사용하라 ( 마커 인터페이스 ) (0) | 2023.07.24 |
39. 명명 패턴보다 애너테이션을 사용하라 (0) | 2023.07.20 |
38. 확장할 수 있는 열거 타입이 필요하면 인터페이스를 사용하라 (0) | 2023.07.20 |
37. ordinal 인덱싱 대신 EnumMap을 사용하라 (0) | 2023.07.18 |