Language/JAVA2 @Retension (SOURCE,CLASS,RUNTIME) @Retension의 RetentionPolicy를 3가지는 어떤 차이가 있고 언제 어떤걸 사용하는게 좋을지 고민을 하게 되었습니다. 그래서 실제 어노테이션 정책이 내부적으로 어떻게 작동하는지 테스트 코드를 작성하면서 확인해 봤습니다. 1.RetentionPolicy.SOURCE//어노테이션 정의@Retention(RetentionPolicy.SOURCE)public @interface SourceAnnotation {}//어노테이션을 적용한 클래스@SourceAnnotationpublic class SourceObject {}//컴파일된 .class파일public class SourceObject { public SourceObject() { }}컴파일된 .class파일에 @SourceAnn.. 2025. 3. 14. Comparable과 Comparator비교 Comparable과 Comparator 은 둘 다 인터페이스(interface)이므로, 내부에 선언된 메소드를 구현해야 사용할 수 있다. [Comparable]Comparable를 살펴보면 내부에 compareTo(T o)만 Override 해주면 된다.https://docs.oracle.com/javase/8/docs/api/ Java Platform SE 8 docs.oracle.com [Comparator]Comparator를 살펴보면 내부에 많은 메서드들이 있지만 compare(T o1, T o2)만 Override된다.나머지 메서드들은 전부 기본구현(default 메서드)이 제공된다.equals(Object obj)는 default 메서드는 아니지만 Object에서 상속받으므로 구현 하지 않아.. 2025. 3. 12. 이전 1 다음