Skip to content

아이템 40 : @Override 애너테이션을 일관되게 사용하라 #109

Answered by JoisFe
jinan159 asked this question in 3. 과제
Discussion options

You must be logged in to vote

@Override가 저는 단순히 1가지 기능만 알고있었습니다.

  1. 단순한 명시적 기능 (상위 클래스의 메서드를 재정의하고 있어!!!)

#101 에서 언급되었던 @FunctionalInterface 어노테이션 경우 단순히 명시적 기능만 하는 것으로 알 고 있는데 (해당 인터페이스는 추상 메서드 1개를 가진 인터페이스야!!) @Override 경우도 이와 유사한줄 알았습니다.

하지만 이번 정리해주신 내용을 통해 새로운 이유를 알게 되었습니다.

  1. 실수로 인해 재정의 하려는 메서드의 메서드 시그니처와 다르게 되어 엉뚱한 메서드를 정의하지 않게 끔 컴파일 시점에서 오류를 잡아줌 (설명해주었듯 오버라이딩 하려던 것을 오버로딩 해버린 대표적인 예가 있습니다.)

@jinan159 님께서 저번에 언급 해주었듯 1. @OverRide 를 붙이지 않는다면 에 OverRide 라는 사람이 태그가 된 것 같아요 수정해주시면 좋을 것 같아요!!

정리 감사합니다.

Replies: 1 comment 2 replies

Comment options

You must be logged in to vote
2 replies
@JoisFe
Comment options

@Irisation23
Comment options

Answer selected by jinan159
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
6장 열거 타입과 애너테이션 이펙티브 자바 6장 열거 타입과 애너테이션
3 participants