CodeGym /Java Blog /무작위의 /주석. 파트 1 - 약간 지루함
John Squirrels
레벨 41
San Francisco

주석. 파트 1 - 약간 지루함

무작위의 그룹에 게시되었습니다
Part 1. SOURCE 및 CLASS 유형의 주석에 대해 매우 간략하게 작성했습니다. 이것은 두 번째 부분에서 길을 잃지 않고 "오해"를 조금 확장하기 위해 읽을 가치가 있습니다 =) 확실히 적어도 한 단어는 알고있을 것이라고 약속합니다! 주석.  파트 1 — 약간 지루함 - 1 여기 작업에서 주석을 처음 보았을 때 어쩐지 주석에 많은 관심을 기울이지 않았습니다. 여기저기서 @Override가 있지만 IDEA는 그것을 추가하므로 그렇게 해야 한다고 생각했습니다. 시간이 지남에 따라 모든 것이 훨씬 더 깊다는 것을 깨달았습니다. 공부하면서 주석은 다소 쓸모없지만 필요한 것처럼 보일 수 있습니다. 당신은 그들이 왜 존재하는지, 그들이 무엇을 하는지 모릅니다. "이제 주석이 있어 모든 것이 매우 간단해졌습니다."라는 기사를 두어 번 읽었습니다. 하지만 예전에는 상황이 어땠는지 몰랐고 지금은 상황이 더 쉬워졌다는 것도 이해하지 못했습니다. 이제 나는 알고 조금 공유하고 싶습니다. (RetentionPolicy) 주석에는 3가지 유형이 있습니다.
  • SOURCE — 컴파일러에 대한 주석
  • CLASS — 주석의 정보는 바이트코드로 작성되지만 런타임에는 사용할 수 없습니다. 표준 라이브러리에는 이러한 유형의 주석이 많이 있으며 이는 이전 버전과의 호환성을 위해 유지됩니다. 이것은 매우 특정한 작업에 사용됩니다.
  • StackOverflow에 대한 Q&A
  • RUNTIME — 이 주석이 가장 많이 사용됩니다. 코드가 실행되는 동안 사용됩니다.
소개는 기사의 일부를 차지하므로 여기에서는 SOURCE 및 CLASS 주석에 대해 작성합니다. 다음은 내가 찾을 수 있는 주석입니다(작업 3607 덕분에). 런타임 주석은 다루지 않겠습니다. 주석이 너무 많고 이 기사의 주제가 아닙니다. 원천:
  • java/lang/annotation/Native.class;
  • java/lang/SuppressWarnings.class
  • javax/주석/Generated.class
  • java/lang/Override.class
수업: CLASS 주석이 필요한 이유를 모르겠습니다. 기존 주석에 대한 문서는 어디에도 없기 때문에 이 짐은 그냥 두고 가셔도 될 것 같습니다. 그러나 찾으면 공유하십시오. 소스 주석:
  1. 네이티브 — 이 주석이 있는 변수는 네이티브 코드를 참조할 수 있습니다.
  2. SuppressWarnings — 이 주석은 다양한 컴파일러 경고를 억제합니다.
  3. Generated — 이 주석은 생성된 소스 코드를 표시합니다.
  4. 재정의 — 이 주석은 메서드 재정의를 확인합니다.
자세한 내용은:

@토종의

네이티브 — 본 적도 없고 사용해 본 적도 없습니다. 이것은 다른 "네이티브" 언어로 코드를 실행해야 할 때 사용되기 때문에 다소 드문 주석이라고 생각합니다. 나는 그것에 대한 명확한 언급을 찾지 못했습니다.

@SuppressWarnings

SuppressWarnings — 이 주석은 @SuppressWarnings("unchecked")와 같이 자주 사용됩니다. 이미 알고 있는 경고를 억제하는 데 사용됩니다. 이전 예제에서는 확인되지 않은 유형 변환에 대한 경고를 표시하지 않습니다. 다시 말하지만 이것은 내가 만난 유일한 사용법입니다.

@생성됨

생성됨 — XSD 파일에서 클래스를 생성해야 하는 할당으로 인해 지금 이 주석을 실행 중입니다. 이 3개의 주석은 매우 구체적이며 현재로서는 흥미롭지 않을 가능성이 높습니다. 마지막으로 설명하겠습니다.

@우세하다

재정의 — 지속적으로 사용하며 매우 유용한 작업을 수행합니다. 메서드를 재정의할 때 IDEA의 도움 없이는 실수하기 쉽습니다. 오타든 단순한 오류든 실수는 발생합니다. 이 주석은 부모 클래스의 메서드가 우리의 (주석이 있는) 메서드와 일치하는지 확인합니다. 이렇게 하면 메서드가 추가되지 않고 재정의됩니다. 코드를 리팩토링할 때 상위 메소드가 제거되거나 변경될 수 있습니다. 다시 말하지만 이 주석은 오류를 나타냅니다. 그것 없이는 우리의 방법이 단순히 추가될 것입니다. 지루한? 나는 예라고 말할 것입니다. 이 기사에서 수집하는 데별로 도움이되지 않습니다. 여기에 있는 거의 모든 것(90%)은 절대 사용하지 않거나 아주 드물게 사용하는 것을 설명합니다. 나머지 10%는 언뜻 보기에 쓸모 없는 @Override 주석에 대해 인사하고 설명합니다. 즉, 기사의 두 번째 부분이 더 재미있을 것이라고 생각합니다. RUNTIME 주석에 대해 논의할 것입니다. 실행 중에 코드와 상호 작용하고 흑마술을 수행합니다. 주석. 파트 2. 롬복
코멘트
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION