지극히 주관적인 생각이며 코딩 테스트 유형이 읽는 시점에 많이 달라졌을 수 있다.
생각보다 많은 분들이 코테 준비를 어떻게 했는지 물어봐주셔서
이 참에 글로 정리를 하기로 마음먹었다.
또한 필자의 글이 틀릴 수 있고
문제 유형이 변하면서 공부 방법이 틀릴 수 있다.
꼭 감안해서 봐야한다 !!!
사실 이 글을 쓰기 전 지인들에게만 공유했던 BOJ 그룹에
내가 코딩 테스트를 어떻게 준비했는지 적어놨었는데
그 글을 보기 위해선 가입을 신청해야하는 번거로움이 있어서
Public하게 이 블로그에 글을 공유하기로 하였다.
// 200420 추가
BOJ 그룹에 가입 신청을 해주시는 분들이 계시는데
제가 BOJ를 거의 안들어가고 관리도 되지 않는 상황입니다 ㅠㅠ
그럼에도 어떤 문제집이 있는지 궁금하시다면
신청하시고 메일 혹은 오픈방으로 연락주시면
승인처리 해드리겠습니다 !
감사합니다.
이 글의 코드 및 정보들은 강의를 들으며 정리한 내용을 토대로 작성하였습니다.
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.ANNOTATION_TYPE)
public @interface Target {
/**
* Returns an array of the kinds of elements an annotation type
* can be applied to.
* @return an array of the kinds of elements an annotation type
* can be applied to
*/
ElementType[] value();
}
이 글의 코드 및 정보들은 강의를 들으며 정리한 내용을 토대로 작성하였습니다.
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.ANNOTATION_TYPE)
public @interface Retention {
/**
* Returns the retention policy.
* @return the retention policy
*/
RetentionPolicy value();
}
@Retention은 해당 애노테이션이 언제까지 유지할지 알려주는 애노테이션이다.
그러므로 Retention 애노테이션에도
자기 자신이 어느 시점까지 유효한지를 명시해줘야한다.
@Retention(RetentionPolicy.RUNTIME)
Retention에는 3가지 속성이 있다.
SOURCE, CLASS, RUNTIME
public enum RetentionPolicy {
/**
* Annotations are to be discarded by the compiler.
*/
SOURCE,
/**
* Annotations are to be recorded in the class file by the compiler
* but need not be retained by the VM at run time.
* This is the default
* behavior.
*/
CLASS,
/**
* Annotations are to be recorded in the class file by the compiler and
* retained by the VM at run time, so they may be read reflectively.
*
* @see java.lang.reflect.AnnotatedElement
*/
RUNTIME
}
이 글의 코드 및 정보들은 강의를 들으며 정리한 내용을 토대로 작성하였습니다.
이 글의 코드 및 정보들은 강의를 들으며 정리한 내용을 토대로 작성하였습니다.
사용하려는 애노테이션(=A)에
@Documneted를 메타 애노테이션으로 설정이 되어있다면
해당 애노테이션(=A)을 사용하는 애노테이션의 코드 문서에는
사용한 애노테이션(=A)이 노출된다.
이 글의 코드 및 정보들은 강의를 들으며 정리한 내용을 토대로 작성하였습니다.