[C#]20.리플렉션과 애트리뷰트
- 프로그래밍 언어 - C#
- 2019. 1. 26. 20:38
안녕하세요 유랑입니다.
이번 시간에는 리플렉션과 애트리뷰트에 대해서 알아보겠습니다.
코드 그 자체를 데이터(메타 데이터)로써 다루는 기법인 리플렉션과 애트리뷰트를 알아볼까요?
1. 리플렉션
리플렉션은 객체의 형식 정보를 들여다봅니다.
이 기능을 이용하면 프로퍼티 목록, 메소드 목록, 플드, 이벤트 목록까지 모두 열어볼 수 있어요.
1-1) Type 클래스
Type 형식은 .NET에서 사용되는 데이터 형식의 모든 정보를 담고 있습니다.
GetType() 메소드는 Type 형식의 결과를 반환하는데,
어떻게 사용하는지 코드를 통해서 알아보겠습니다.
1-2) 형식 내보내기
리플렉션을 이용하면 런타임에 원하는 형식의 정보를 읽어낼 수 있을 분만 아니라,
그 형식의 인스턴스 또한 만들 수 있습니다.
C#에서는 프로그램 실행 중에 새로운 형식을 만들어 낼 수 있는 기능도 제공하는데
코드를 통해서 알아보겠습니다.
2. 애트리뷰트
애트리뷰트는 코드에 대한 부가 정보를 기록하고 읽을 수 있습니다.
주석과 다른 점은 사람이 작성하고 컴퓨터가 읽는다는 점이 다르겠네요.
2-1) 애트리뷰트 사용하기
애트리뷰트를 사용할 때는 설명을 하고자 하는 코드 요소 앞에 [ ]의 괄호 쌍을 붙이고
그 안에 애트리뷰트의 이름을 넣으면 됩니다.
2-2) 호출자 정보 애트리뷰트
호출자 정보는 메소드의 매개 변수에 사용되며 메소드의 호출자 이름, 호출자 메소드가 정의되어 있는
소스 파일 경로, 심지어 소스 파일 내의 행번호까지 알 수 있습니다.
3. 마무리
오늘은 리플렉션과 애트리뷰트에 대해서 배워보았습니다.
코드의 기능을 알기보다는 부가적인 부분을 다뤄보았는데요.
실력이 늘어갈수록 유용하게 쓰일것 같네요.
오늘도 고생하셨습니다.
감사합니다.
수업자료: https://github.com/YouRang12/-Tistory-CShop---Basic