애너테이션

: 주석처럼, 프로그래밍 언어에 영향을 미치지 않으며, 유용한 정보를 제공

 

✔ 애니테이션의 사용 예 

: J Unit에게 테스트 대상임을 알린다

@Test

public void method() {}

 

표준애너테이션

: 자바에서 제공하는 애너테이션

: 메타 에너테이션은 애너테이션을 만들때 사용하는 애너테이션

 

 

 

@Override

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

: javac.exe 시점

: 오버라이딩할때는 메서드 선언부 앞에 @Override를 붙이자

class Child extends Parent {
void parentmethod(){} // parentMethod()를 써야하는데 소문자로 오타가 남

class Child extends Parent{
@Override
void parentmethod(){} // method does not override 로 애너테이션이 에러문장을 알려줌

 

@Deprecated

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

: @Deprecated 의 사용 예, Date 클래스의 getDate()

@Deprecated
public int getDate(){
	return normalize().getDayOfMonth(); } // getDate()의 자바 api문서에 표시가 됨

 

 

@FuntionalInterface

: 함수형 인터페이스에 붙이면, 컴파일러가 올바르게 작성했는지 체크

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

 

 

 

@SuppressWarnings

: 컴파일러 경고메세지가 나타나지 않게 억제한다.

: 괄호()안에 억제하고자하는 경고종류를 문자열로 지정

 

 

: 둘 이상의 경고를 동시에 억제할시에는 다음과 같이 입력

 

: cmd창에서 컴파일할때 에러가 뜨면 세부내용 확인.

소스파일에서 @surpressWarnings로 해당 문구를 확인했다고 처리.컴파일시 경고가 안뜨도록 해야함

👉 경고 = 잠재적 위험이라 새로운 경고인지 기존 경고인지 파악이 어려우므로 그때그때 정리하는 용도

+ Recent posts