최종 사용자로서 Java 또는 잠시 동안 주석을 사용하고 있지만 최근에는 내 자신의 주석 유형을 작성하기로 결정했으며 Java에서 @interface로 주석을 정의하는 구문이 매우 이상하다고 생각했습니다. 제 질문은 자바가 @interface를 사용하여 열거 형과 마찬가지로 새 키워드를 도입하는 대신 주석을 정의하는 이유는 무엇입니까? @interface 구문의 장점이 있습니까?주석을 정의하는 데 @interface가 사용되는 이유는 무엇입니까?
주석 디자이너가 수행 한 설계 고려 사항을 이해하기 위해 나는 주석을 정의하기 위해 새 키워드를 도입해야한다는 생각을 가지고 있어야한다고 확신합니다.
@interface에는 너무 많은 제한이 있습니다. 예를 들어 확장을 사용할 수없는 경우 Date와 같은 특수 효과 멤버를 정의 할 때 사용할 수없는 특정 유형이 있습니다. @interface에 들어갈 수있는 것에 대한 제한이 명확하지 않으며 단지 나에게 해킹 된 것처럼 느껴집니다.
컴파일러가 특수한 방식으로 취급하는 키워드가 아니라는 것을 자세히 설명해 주실 수 있습니까? 스펙에서는 "@ interface"와 같이 @ 인터페이스 사이의 공백을 사용하여 특수 효과 유형을 정의 할 수 있다고 말합니다 그것은 키워드처럼 느껴졌습니다. "왜 안되나요?"유일한 대답이 아닙니다. – ams
@ am 나의 사과, 자바 문법을 확인했습니다. 그것은 실제로 키워드이기 때문에 제 대답을 완전히 수정했습니다. – EJP