목차

Java Annotation

Meta Annotation

@Inherited

@Inherited
@interface ForEveryone { }
 
@interface JustForMe { }
 
@ForEveryone
@JustForMe
class Superclass { }
 
class Subclass extends Superclass { }

위와 같은 코드에서 @Inherited가 적용된 @ForEveryone 어노테이션을 Superclass에만 지정했지만 자동으로 그 서브클래스인 Subclass에도 적용된 것으로 간주된다. 그에 반해 @JustForMe는 Subclass로 상속되지 않는다.

Annotation 객체 생성하기 instanciation of annotation

어노테이션은 인터페이스다!

어노테이션을 직접 지정한 뒤에 Reflection으로 생성하기 - 복잡하므로 하지 말 것