티스토리 뷰
.NET 프레임워크
- CLR(Common Language Runtime, 공동 언어 런타임) + .NET프레임워크 클래스 라이브러리
- 윈도우 응용프로그램을 만들기 위한 새로운 클래스 라이브러리
CLR
.NET 환경 하에서 보안, 메모리관리, 원격제어와 같은 기능을 기본적으로 제공하는 런타임 실행엔진이다. CLR이 구동시키는 프로그램을 관리응용프로그램이라고 하고, 그렇지 않은 프로그램을 비관리라고 한다.
Visual Basic과 C# 은 항상 관리 프로그램을 생성하고, Visual C++ 은 관리와 비관리를 선택할 수 있다.
중간(Intermediate) 언어
.NET에서 컴파일되어 생성되는 실행파일은 중간언어라고 불리는 IL (Intermediate language) 또는 MSIL (Microsoft Intermediate language) 형태이다. IL은 자바 바이트 코드와 유서한데, 컴파일러가 생성한 코드가 곧바로 실행할 수 없다는 것을 의미한다. 하지만 IL 코드는 실행시 JIT (Just-In-Time) 컴파일러에 의해서 해석되는데 이때 모든 코드가 한번에 해석하는것이 아니라, 필요한 부분만 해석한다. IL의 괄목할만한 특징은 IL이 기계 의존적인 코드가 아니라는 점이다. 또한, IL 코드는 다형성, 상속, 은닉과 같은 객체지향적인 개념을 지원하는 코드이다. 따라서 객체지향 어셈블리언어에서는 공통적으로 코드를 공유할 수 있다. 예를들면 Visual Basic에서도 관리 C++ 클래스의 멤버를 사용할 수 있고, 반대의 경우도 가능한다,