C#.NET Q&A

Attribute와 Annotation의 차이 Suspender 평점: 없음 조회: 64


Attribute와 Annotation의 차이점이 뭔가요?

사용법이 같아서 같은 용어로 봐도 되는건지 모르겠네요..

구글링 해보니까 대표적 예가 [Required]와 [Serializable]이 있는데 Required의 namespace가 DataAnnotations고

[Serializable]는 System이더군요.

하지만 이런 차이가 있음에도 결국 둘 다 Attribute 클래스를 상속받네요.

그리고 [Required]는 Model의 프로퍼티의 유효성을 검사하기위해 사용하는 거라 Class 정의 부분에는 사용하지 못하고

[Serializable]은 이와 반대로 Class 정의부분에서 사용하지만 프로퍼티에서 사용은 못하지만, 이런 차이는 Attribute와

Annotation 구분 없이 용도에 따라 다르다고 생각됩니다.

그냥 같은 용어라고 봐야 하는건가요 아니면 제가 잘못 생각하고 있는걸까요ㅜㅜ

차이점을 설명해주는 데가 없네요ㅜㅜ

태그 : 애트리뷰트 어노테이션 C#질문
작성자 정보
Suspender
Level 3
 [EXP.7/16]

메일:  비공개
글등록 +12 24 덧글등록 +3 9
자기소개
안녕하세요. 공부만 하겠습니다.
글 공유하기 |
  tweet facebook
2018-07-10 오후 12:44:28
나도한마디
사용자
몬난아            [2018-07-10]
Level 71
 [EXP.127/250]
음. 어떻게 설명해야할까요.. 이게 맞는 답인지 모르겠지만

결론적으로만 말하면 둘다 Attribute프로그램입니다.

기본적으로 Attribute를 상속해서 개발을 하게 되면 프로퍼티던 클레스던 어디에서든 사용할수 있습니다.

다만 용도가 프로퍼티에 제약적인[Required]같은경우는 Attribute선언부에 프로퍼티만 사용하게끔 선언이 가능한것이구요
Serialize같은겅우는 둘다 아마 사용가능했던걸로 기억하긴하는데..

결국 Attribute의 구현은 클래스용, 메서드용, 기타.... 개발자가 원하는 형태에따라 지정이 가능합니다
(참고 : http://www.mkexdev.net/Article/Content.aspx?parentCategoryID=1&categoryID=21&ID=179)

Annotation 은 그냥 말씀하신것처럼 유효성 검사를 하기위한 구현체들을 모아 놓은 네임스페이스 라고 생각하셔야할것 같습니다.

Annotation 이 어트리뷰트와 같은 것이라고 생각해서 온 혼란이 아닐까 생각되내요??....
글리스트
데이터그리드 뷰 질문드려요[1]+1  키모
SMTP 예외처리 관련 파일첨부 윤윤스
응용프로그램 실행시 오류가 납니다.[1]+1  키모
WebBrowser 컨트롤 Zoom 처리[1]  고수도초보부터
Process.Kill 명령어 실행시 오류  비베씨샾
데이터베이스의 데이터변동시 알림 질문[1]+1  whoyee
또 초보적인 질문이있습니다[2]  vasdzxc12
초보스러운 질문이 있습니다 ㅜㅜ[1]  vasdzxc12
c# 윈폼에서 마우스 커서를 고정하고 싶습니다.[1]  뭘이
[질문]MDI 자식창 show( ) 시 FormBoardStyle 이 일시적으로 변경되어 보이는 문제[1]  윤구슬
 ★현재글->   Attribute와 Annotation의 차이[1]  Suspender
DEVEXPRESS 스케쥴러 컨트롤에 대해서 질문이 있습니다.  하품하고파
wpf 디자이너 안보임 문제[2]+1 파일첨부 Tube
윈폼 질문드립니다.[2]+2  키모
C# 엑셀 xlsm 파일 읽기 질문드립니다.[1]  리카이
웹에서 json형태로 넘기고 이값을 받는 방법[1]  민성
dictionary와 Idictionary의 차이??[2]+2  Tube
List<string> 에서 BinarySearch() 결과값이 이상합니다.[3]+3  insurang
복호화 관련 질문입니다ㅠㅠ[1]+1  방랑이z
label.Content 첫째줄에 언더바 표시가 안나와요.[1]+1  insurang
스케쥴러 컨트롤에 대해서 질문이 있습니다.[1]  하품하고파