"안녕, 아미고!"

"안녕, 리시."

"오늘은 주석에 대해 더 자세히 소개하겠습니다."

"이미 알고 계시겠지만 주석은 클래스, 필드, 메소드, 변수 옆에 붙일 수 있는 특별한 단어입니다."

"네. 자주 만나요."

" 메타데이터 라고도 합니다 . 주요 목적은 메서드, 필드 및 클래스에 대한 특정 추가 정보를 저장하는 것입니다."

"누구를 위해 저장합니까?"

"아주 좋은 질문입니다."

"사람들은 주석을 씁니다. 이는 누군가 주석이 필요하다는 것을 의미합니다."

"주석을 사용하면 코드 및 프로그램 요소에 대한 추가 정보를 저장할 수 있지만 형식적으로는 코드의 일부가 아닙니다."

"주석을 사용하여 XML을 생성하고 메서드가 더 이상 사용되지 않는지 여부를 확인하고 버그를 추적할 수 있습니다."

"다음은 코드에 있는 주석의 예입니다."

@CatInfo(manager=Catmanager.class, unique=true)
class Cat
{
 @Name("Missy")
 private String name;

 @SuppressWarnings(value = "unchecked")
 void getUniqueCatName()
 {

 }
}

"보시다시피 데이터는 주석에 저장할 수 있습니다."

"주석에 value 라는 필드가 하나만 있으면 필드 이름을 생략할 수 있습니다."

@SuppressWarnings("unchecked")
void getUniqueCatName()
{

}

"괄호 안에 매개변수가 없으면 생략할 수도 있습니다."

@Override
void getUniqueCatName()
{

}

"자신만의 주석을 만드는 것은 매우 쉽습니다. 주석을 선언하는 것은 인터페이스를 선언하는 것과 거의 동일합니다."

@interface CatManager
{
 Class manager();
 boolean unique();
 String name() default "Unknown Cat";
}

"몇 가지 차이점이 있습니다."

"먼저 인터페이스 라는 단어 앞에 «@» 기호를 넣습니다 ."

"둘째, 주석은 기본값을 가질 수 있습니다. 기본값 을 설정하려면 기본값이라는 단어를 사용하십시오 . 위의 예를 참조하십시오. 이러한 매개변수는 선택 사항이며 주석을 추가할 때 생략할 수 있습니다."

"아. 생각보다 쉬웠어. 그리고 로보데빌이 성수를 피하듯이 피하고 있었어. 코드가 완전히 이해하지 못하는 게 많으면 기분이 좋지 않아."

"오, 저를 상기시켜 주셔서 감사합니다. 컴파일러에서 사용하는 주석에 대해 더 자세히 알려 드리고 싶습니다."

"이러한 주석은 3개뿐입니다. 음, 지금까지 3개입니다."

@더 이상 사용되지 않습니다.

"@Deprecated로 클래스나 메서드에 주석을 달 수 있습니다. 이렇게 하면 컴파일러에서 경고가 발생하고(경고는 오류가 아님) IntelliJ IDEA는 이 메서드를 취소선 텍스트로 표시합니다. 다음과 같습니다  .

Date date = new Date();
int year = date.getYear();

@우세하다.

"재정의하는 메서드에 @Override 주석을 추가하는 것이 모범 사례로 간주됩니다."

"그게 뭐죠? IDEA는 이미 메서드가 재정의되었는지 여부를 보여주지 않습니까?"

"먼저 IDEA가 있고 그 다음이 Java 구문입니다."

"그리고 두 번째로, 가설적으로 하위 클래스의 메서드 이름에 상응하는 변경 없이 기본 클래스의 메서드 이름이 변경되는 상황이 있을 수 있습니다. 프로그램은 예상대로 작동하지 않지만 아무도 눈치채지 못할 것입니다. 이 주석은 다음을 위해 발명되었습니다. 다음과 같은 상황이 발생하지 않도록 합니다."

@Override
void getUniqueCatName()
{

}

@SuppressWarnings.

"때때로 컴파일러는 많은 경고를 표시합니다. 그리고 때때로 우리는 «문제»에 대해 알고 있으며 이를 생성하는 해당 코드를 사용하도록 의도적으로 선택합니다. 이 주석을 사용하여 이러한 경고 중 일부를 숨길 수 있습니다."

"프로그래머는 @SuppressWarnings 주석을 사용하여 컴파일러에게 «이 오류에 대한 경고를 표시하지 마십시오. 의도적입니다.»라고 알릴 수 있습니다. 예를 들어:"

@SuppressWarnings("unchecked")
void getUniqueCatName()
{

}

"알았어요."

"조금 지쳤어. 마른 목을 적시러 갈게. 잠시 쉬었다가 계속하자, 알았지?"

"확신하는."