C# 및 .NET Framework
업데이트: 2007년 11월
C#은 쉽게 사용할 수 있도록 설계된 강력하고 안전한 프로그래밍 언어입니다. .NET 환경의 일부로 포함된 C#은 .NET Framework와 자연스럽게 연계되어 작동하며, 이를 통해 초고속 서버에서 초소형 모바일 장치에 이르기까지 임의의 대상에 대한 안정적인 소프트웨어를 새로운 방식으로 작성할 수 있습니다.
전통적인 C 및 C++ 코드와 달리 C# 코드는 기계어로 직접 컴파일되지 않습니다. C# 컴파일러는 C# 소스 코드를 어셈블리라고 하는 MSIL(Microsoft Intermediate Language) 파일로 변환합니다. 네이티브 기계어 코드를 만들 수도 있는 Visual C++, Visual J# 및 Visual Basic을 비롯하여 CLR(공용 언어 런타임)을 기반으로 빌드되는 모든 언어에서는 MSIL 파일을 생성합니다. 생성된 MSIL은 대부분의 경우 언어에 상관없이 사실상 동일하므로 다양한 언어로 작성된 다양한 프로그램 구성 요소를 쉽게 결합할 수 있습니다.
다음 다이어그램에서는 사용자가 작성한 C# 코드가 실행 가능한 응용 프로그램으로 변환되는 방법을 보여 줍니다.
MSIL 파일은 표준 .exe 또는 .dll 파일로 표시되지만 Windows 플랫폼에서 직접 실행되는 대신 CLR을 통해 실행됩니다. CLR에서는 MSIL 프로그램을 필요에 따라 기계어 코드로 컴파일합니다. 이러한 과정을 JIT(Just-In-Time) 컴파일이라고 합니다. 그런 다음 이 기계어 코드가 직접 실행됩니다. 실제로 필요한 시점이 되기 전까지는 기계어 코드로 변환되지 않는 하드웨어 중립적인 중간 코드를 생성하므로 안전성과 보안 및 이식성이 모두 향상됩니다. 이러한 과정은 대부분 프로그래머에게 숨겨집니다. C# 프로그램은 다른 모든 프로그램과 동일한 방식으로 컴파일, 실행 및 배포됩니다. 컴퓨터에 .NET Framework가 설치되어 있는 한 C# 프로그램은 다른 응용 프로그램과 마찬가지로 실행됩니다.
경우에 따라서는 C# 어셈블리어를 기계어로 영구히 변환하는 것이 좋습니다. 이렇게 하려면 Visual Studio와 함께 제공된 네이티브 이미지 생성기(ngen.exe) 도구를 사용합니다.
.NET Framework에 특화되어 설계된 언어인 C#은 .NET 개발에 특히 적합합니다. 근본적으로 .NET Framework 클래스 라이브러리는 텍스트 및 그래픽 표시 기능, 데이터 저장을 위한 컬렉션, XML 파일과 데이터베이스를 조작하기 위한 도구, 웹 사이트 액세스를 위한 메서드 등 응용 프로그램 개발을 위해 사용자가 필요로 할 수 있는 거의 모든 기능을 응용 프로그램에 제공하는 광범위한 클래스 컬렉션입니다.
.NET Framework는 네임스페이스별로 기능이 구성되어 있으며, 각 네임스페이스는 일반적으로 여러 개의 클래스를 포함하고 있습니다. 예를 들어, System.IO 네임스페이스에는 파일을 읽고 쓰기 위한 여러 클래스가 포함되어 있고 System.Text 네임스페이스에는 문자열 데이터를 처리하는 여러 클래스가 포함되어 있습니다. 다양한 네임스페이스 및 각 네임스페이스에 포함된 클래스에 대해 알려면 .NET Framework 클래스 라이브러리 참조 문서를 살펴보십시오.