주석(comment)처럼 프로그래밍 언어에 영향을 미치지 않으면서도 다른 프로그램에게 유용한 정보를 제공할 수 있다는 장점이 있다.
매서드 앞에만 붙일 수 있는 애너테이션.
오버라이딩할 때 조상 메서드의 이름을 잘못 써도 컴파일러는 알지 못하지만
@Override
를 사용하면 에러 메시지를 출력한다.
더 이상 사용되지 않는 필드나 메서드에 붙이는 애너테이션.
다른 것으로 대체되었으니 더 이상 사용하지 않을 것을 권한다는 의미이다.
기존의 것 대신 새로 추가된 개선된 기능을 사용하도록 유도하는 것이다.
추상 메서드가 오직 하나인 인터페이스를 의미한다.
단 default method는 제외한다.
부적절한 메서드를 추가하거나 다른 인터페이스를 상속받으면 컴파일 에러가 발생한다.
자바에서 함수형 인터페이스를 사용하는 이유는?
1. 람다 표현식 지원
2. 메서드 참조
3. Stream API와의 통합
4. 병렬 프로그래밍
5. 코드 재사용
경고를 제외시킬 때 사용하는 애너테이션.
option
- all : 모든 경고
- cast : 캐스트 연산자 관련 경고
- dep-ann : 사용하지 말아야 할 주석 관련 경고
- deprecation : 사용하지 말아야 할 메서드 관련 경고
- fallthrough : switch문에서 break 누락 관련 경고
- finally : 반환하지 않는 finally 블럭 관련 경고
- null : null 분석 관련 경고
- rawtypes : 제너릭을 사용하는 클래스 매개 변수가 불특정일 때의 경고
- unchecked : 검증되지 않은 연산자 관련 경고
- unused : 사용하지 않는 코드 관련 경고