[C#]20.리플렉션과 애트리뷰트

안녕하세요 유랑입니다.



이번 시간에는 리플렉션과 애트리뷰트에 대해서 알아보겠습니다.

코드 그 자체를 데이터(메타 데이터)로써 다루는 기법인 리플렉션과 애트리뷰트를 알아볼까요?




1. 리플렉션



리플렉션은 객체의 형식 정보를 들여다봅니다.

이 기능을 이용하면 프로퍼티 목록, 메소드 목록, 플드, 이벤트 목록까지 모두 열어볼 수 있어요.




1-1) Type 클래스


Type 형식은 .NET에서 사용되는 데이터 형식의 모든 정보를 담고 있습니다.

GetType() 메소드는 Type 형식의 결과를 반환하는데, 

어떻게 사용하는지 코드를 통해서 알아보겠습니다.















1-2) 형식 내보내기



리플렉션을 이용하면 런타임에 원하는 형식의 정보를 읽어낼 수 있을 분만 아니라,

그 형식의 인스턴스 또한 만들 수 있습니다.

C#에서는 프로그램 실행 중에 새로운 형식을 만들어 낼 수 있는 기능도 제공하는데

코드를 통해서 알아보겠습니다.











2. 애트리뷰트



애트리뷰트는 코드에 대한 부가 정보를 기록하고 읽을 수 있습니다.

주석과 다른 점은 사람이 작성하고 컴퓨터가 읽는다는 점이 다르겠네요.



2-1) 애트리뷰트 사용하기



애트리뷰트를 사용할 때는 설명을 하고자 하는 코드 요소 앞에 [ ]의 괄호 쌍을 붙이고

그 안에 애트리뷰트의 이름을 넣으면 됩니다.









2-2) 호출자 정보 애트리뷰트



호출자 정보는 메소드의 매개 변수에 사용되며 메소드의 호출자 이름, 호출자 메소드가 정의되어 있는

소스 파일 경로, 심지어 소스 파일 내의 행번호까지 알 수 있습니다.









3. 마무리



오늘은 리플렉션과 애트리뷰트에 대해서 배워보았습니다.

코드의 기능을 알기보다는 부가적인 부분을 다뤄보았는데요.

실력이 늘어갈수록 유용하게 쓰일것 같네요.

오늘도 고생하셨습니다.

감사합니다.




수업자료: https://github.com/YouRang12/-Tistory-CShop---Basic





댓글

Designed by JB FACTORY