[C#] 리플렉션(Reflection)과 속성(Attribute)
리플렉션(Reflection)리플렉션은 프로그램 실행 중 메타데이터를 검사하고 객체의 정보(형식, 이름, 프로퍼티 목록, 메소드 목록, 필드, 이벤트 목록 등)를 탐색, 조작하는 기능을 제공하는 기법이다. 이를 통해 코드가 실행 중에 클래스, 메서드, 프로퍼티, 필드 등의 정보를 조회하고 다룰 수 있으며, 주로 System.Reflection 네임 스페이스에 정의된 클래스를 사용한다.장단점장점유연성 및 확장성 : 코드가 컴파일될 때 타입을 알 필요 없이 런타임에 타입 정보를 가져와 동적으로 조작할 수 있다. 이로 인해 애플리케이션이 런타임에 새로운 타입을 로두하고 사용할 수 있다.동적 로딩 및 실행 : 리플렉션은 Assembly.Load, Type.GetType 등의 기능을 통해 외부 라이브러리나 플러그..
2024. 11. 14.
[C#] .NET, 컴파일 과정, CLS, CTS, CIL, CLI, CLR, JIT 컴파일
C# 스크립트는 .NET 실행 환경에서 동작하게 되는데, 이 때 .NET이란 무엇이고 C# 스크립트가 실행되기까지 어떤 과정을 거치는지 정리하려 한다..NET Framework.NET Framework(이후 닷넷 또는 .NET)는 마이크로소프트에서 만든 소프트웨어 개발 및 실행 환경이다. 네트워크 작업과 인터페이스 등 많은 작업을 캡슐화하고, Windows 응용 프로그램을 개발하고 실행하는 데 필요한 라이브러리와 런타임 환경을 제공한다. 닷은 크게 두 가지 주요 구성 요소로 나눌 수 있다 :CLR(Common Languange Runtime) : 프로그램 실행 시 메모리 관리, 예외 처리, 가비지 걸렉션 등을 담당하는 런타임 환경이다.(일종의 가상 머신이라고 생각해도 된다.)BCL(Base Class L..
2024. 11. 6.