ABOUT ME

코딩 복습하고 공부하는 기록

Today
Yesterday
Total
  • 표준 애너테이션
    공부/Java 2024. 5. 2. 10:13

    표준 애너테이션

     

    애너테이션 설명
    @Override 컴파일러에게 메서드를 오버라이딩하는 것이라고 알린다.
    @Deprecated 앞으로 사용하지 않을 것을 권장하는 대상에 붙인다.
    @SuppressWarnings 컴파일러의 특정 경고메시지가 나타나지 않게 해준다.
    @SafeVarages 지네릭스 타입의 가변인자에 사용한다. (JDK1.7)
    @FunctionalInterface 함수형 인터페이스라는 것을 알린다. (JDK1.8)
    @Native native 메서드에서 참조되는 상수 앞에 붙인다. (JDK1.8)

     

     

    @Override

    - 오버라이딩을 올바르게 했는지 컴파일러가 체크하게 한다.

    - 오버라이딩할 때 메서드 이름을 잘못적는 실수를 하는 경우가 많아 사용한다.

    - 오버라이딩 할 때는 메서드 선언부 앞에 @Override를 붙이면 실수 예방에도 좋고 편하다.

     

     

    @Deprecated

    - 앞으로 사용하지 않을 것을 권장하는 필드나 메서드에 붙인다.

    ※ 사용 예) Date 클래스의 getDate()

    @Deprecated
    public int getDate(){
    	return normalize().getDayOfMonth();
    }

    - @Deprecated가 붙은 대상이 사용된 코드를 컴파일하면 경고성 메시지가 나타난다.

     

     

    @FunctionalInterface

    - 함수형 인터페이스에 붙이면 컴파일러가 올바르게 작성했는지 체크해준다.

    ※ 함수형 인터페이스에는 하나의 추상메서드만 가져야 한다는 제약이 있다.

     

     

    @SuppressWarnings

    - 컴파일러의 경고메시지가 나타나지 않게 억제한다.

    - 괄호()안에 억제하고자 하는 경고의 종류를 문자열로 지정한다.

    @SuppressWarnings("unchecked")		// 지네릭스와 관련된 경고 억제
    ArrayList list = new ArrayList();	// 지네릭 타입을 지정하지 않았음.
    list.add(obj);				// 경고 발생

    ArrayList()는 지네릭 클래스기 때문에 원시타입을 쓰지 말고 타입<T>를 넣어줘야 해 경고가 발생한다.

    하지만 @SuppressWarnings을 붙이면 경고 메시지가 뜨지 않는다.

    경고 메시지가 나와도 프로그램은 정상적으로 돌아가지만,

    해당 애너테이션을 붙이면 개발자가 해당 경고를 확인했다는 의미가 되기도 한다.

    경고가 있어도 잘 돌아가는 프로그램으로 볼 수 있어 코드를 작동시켰을 때 더 편리하다.

     

    - 둘 이상의 경고를 동시에 억제하려면 중괄호{} 안에 메시지를 담는다.

    @SuppressWarnings({"deprecation", "unchecked", "varargs"})

     

    - '-Xlint'옵션으로 컴파일하면, 경고메시지를 확인할 수 있다.

    ※ 괄호[] 안이 경고의 종류다.

    '공부 > Java' 카테고리의 다른 글

    애너테이션 타입 정의하기  (0) 2024.05.03
    메타 애너테이션  (0) 2024.05.02
    열거형에 멤버 추가하기  (0) 2024.04.30
    열거형(enum)  (0) 2024.04.29
    지네릭 형변환  (0) 2024.04.28
Designed by Tistory.