-
Annotation이란 무엇이고 구체적으로 어떤 것이 있는지 예시를 들어 설명해주실 수 있을까요?목터뷰 2023. 8. 14. 21:04
@
에너테이션/어노테이션- 코드에 메타데이터를 추가해 코드를 설명하거나 프로그램 동작을 변경하는 기능
- 주석처럼 코드에 영향을 끼치진 않지만 코드 설명이나 동작을 변경을 도와주는 특징이 있다
- 앞에 꼭 @ 를 붙여 사용할것
대표적인 @Override 에너테이션 1. 표준 에너테이션
-java에서 기본적으로 제공하는 에너테이션
@Override 메소드를 오버라이딩해 쓸때 사용 @Deprecated 앞으로 사용하지 않을 대상에 사용 2. 메타 에너테이션
-에너테이션을 위한for 에너테이션
-새 에너테이션을 만들 때, 그리고 어떻게 동작 해야하는지 정의 하는데 사용된다.
-표준 에너테이션에과 달리 끝에 * 표시가 붙어 있다.
@Target* 어노테이션을 어디에 적용할 수 있는지를 정의하는 메타 어노테이션입니다. 클래스, 필드, 메서드 등의 적용 대상을 설정할 수 있습니다. @Documented* 어노테이션을 사용한 요소가 자동으로 문서에 표시되도록 지정하는 메타 어노테이션입니다. 이 어노테이션이 달린 어노테이션은 해당 어노테이션의 정보가 JavaDoc과 같은 문서에 포함됩니다. @Inherited* 부모 클래스에서 자식 클래스로 어노테이션이 상속되도록 지정하는 메타 어노테이션입니다. 이 어노테이션을 사용하면 부모 클래스에 어노테이션을 붙인 경우 자식 클래스에서도 동일한 어노테이션이 적용됩니다. @Retention* 어노테이션의 유지 정책을 지정하는 메타 어노테이션입니다. @Retention 어노테이션의 값으로 RetentionPolicy.SOURCE, RetentionPolicy.CLASS, 또는 RetentionPolicy.RUNTIME을 사용하여 어노테이션의 수명을 설정할 수 있습니다. 3.마커 애너테이션
-요소가 하나도 정의되지 않는 에너테이션
-그저 존재 여부를 나타내기 위해 존재
@Deprecated public class OldClass { // 클래스 내용 }
위의 코드에서 OldClass는 더 이상 권장되지 않는 클래스임을 나타내기 위해 @Deprecated 어노테이션을 사용했습니다. 이것은 마커 애너테이션의 예시로 볼 수 있습니다.
마커 애너테이션은 코드나 프레임워크에서 특정 요소에 대해 미리 정의된 동작을 수행하도록 할 때 사용됩니다. 다른 예로는 특정 프레임워크에서 사용되는 어노테이션들이 있을 수 있습니다. 이러한 마커 애너테이션은 주로 코드의 가독성과 유지보수성을 높이기 위해 사용됩니다.+. 롬복 에너테이션
Lombok 라이브러리를 설치해 사용 할 수 있는 자바 에너테이션
@Getter와 @Setter 등 반복 작업을 최소화 시켜 간결한 코드를 쓸수 있게 도와줌
편하지만 남용하는건 좋지 않기에 어떤 기능인지 알고 쓰는것이 중요
'목터뷰' 카테고리의 다른 글
트랜잭션이란 무엇이고 원자성, 일관성, 고립성, 지속성이란 무엇인지 설명해주실 수 있을까요? (0) 2023.08.24 인덱스란 무엇이고 일반적인 원리는 어떠한지 설명해실 수 있을까요? (0) 2023.08.22 [목터뷰]Call by reference란 무엇이고 보통 어떻게 쓰이나요? (0) 2023.08.08 [목터뷰] 스택과 큐의 차이(Stacks vs Queue) (0) 2023.08.07 시간 복잡도 (Time complexity)&공간 복잡도 (Space complexity) (0) 2023.08.04