닷넷 프레임워크 (.Net Framework)


이 저작물은 크리에이티브 커먼즈 저작자표시-비영리-변경금지 2.0 대한민국 라이선스에 따라 이용할 수 있습니다.


닷넷

닷넷(.Net) 이란?

C# 이라는 언어가 동작하는 환경인 닷넷 프레임 워크부터 살펴보도록 하겠습니다.

위키 (wiki)에서는 닷넷을 아래와 같이 정의하고 있습니다.

“닷넷 프레임워크 (.Net Framework)는 마이크로소프트에서 개발한 윈도우 프로그램 개발 및 실행환경이다. 네트워크 작업, 인터페이스 등의 많은 작업을 캡슐화하였고, 공용 언어 런타임 (Common Language Runtime)(CLR)이라는 이름의 가상 머신 위에서 동작한다”

참고 링크 : 닷넷 프레임워크 위키

처음 프로그래밍 언어가 생긴 이래로, 프로그래밍 환경은 지속적으로 변화를 거듭했습니다.

좀 더 편리한 환경에서 다양한 프로그램을 제작할 수 있도록 기능이 추가되고 구조가 개선되었습니다.

아래 그림은 C++ 언어의 개발환경이 점점 발전해온 과정을 그림으로 나타낸 것입니다.

c-%ec%96%b8%ec%96%b4-%ea%b0%9c%eb%b0%9c%ed%99%98%ea%b2%bd%ec%9d%98-%eb%b3%80%ed%99%94-%ea%b3%bc%ec%a0%95

[그림] C++ 언어 개발환경의 변화과정

위의 그림에서 제일 왼쪽 형태가 가장 기본이 되는 개발 환경이라고 할 수 있습니다.

직접 운영체제(OS)에 맞는 코드를 작성하고, 실행파일을 생성하는 방식으로 프로그램을 만드는 과정입니다.

하지만 이 경우, 필요한 모든 기능을 개발자가 모두 직접 만들어야 하는 어려움과 번거로움이 있습니다.

 

중간에 있는 형태는 왼쪽에서 조금 발전된 형태로, 많이 사용되는 기능들이 편의 기능으로 기본 제공되고 개발자가 이를 활용해서 프로그램을 제작할 수 있는 형태로 발전을 했습니다.

하지만 멀티 플랫폼을 지원해야 하는 경우, 플랫폼 별로 프로그램을 따로 제작해야 하는 어려움이 있습니다.

 

오른쪽 형태가 닷넷 프레임워크 개발환경입니다.

프로그래밍 환경이 발전하면서, 멀티플랫폼의 지원, 네트워크 프로그램 등 여러 환경에서 실행되고 관리되어야 하는 프로그램들이 생기기 시작했습니다.

이러한 요구를 충족시키기 위해서 만들어진 개발환경이 바로 닷넷 프레임 워크입니다.

 

개발자가 Common Language Runtime(CLR) 이라 불리는 가상 머신 위에서 동작하는 프로그램을 제작하면,

이 CLR 환경이 실행될 수 있는 운영체제에서는 개발자가 따로 해당 운영체제에 맞는 프로그램을 제작할 필요 없이 프로그램이 실행될 수 있도록 만들어졌습니다.

닷넷 프레임워크는 Visual Basic, C++ 등 여러 언어를 지원하지만, 그 중에 가장 대표적인 언어가 바로 C# 입니다.

 

아래 그림은 닷넷 프레임워크 구조를 도식화 한 것입니다.

%eb%8b%b7%eb%84%b7-%ed%94%84%eb%a0%88%ec%9e%84%ec%9b%8c%ed%81%ac-%ea%b5%ac%ec%a1%b0

[그림] 닷넷 프레임워크 구조

닷넷 프레임워크는 Base Class Library를 포함하는데, 이 클래스 라이브러리는 파일을 제어하거나, 네트워크를 제어할 수 있는 기능 등을 포함하고 있습니다.

아래 그림은 BCL에 포함되어 있는 기능을 예로 보여주는 그림 입니다.

base-class-library%ec%97%90-%ed%8f%ac%ed%95%a8%eb%90%98%ec%96%b4-%ec%9e%88%eb%8a%94-%ea%b8%b0%eb%8a%a5-%ec%98%88

[그림] Base Class Library에 포함되어 있는 기능 예

웹(Web), 데이터베이스 및 시스템 제어 등을 위한 여러 기능을 제공하는 것을 확인할 수 있습니다.

이런 기능들은 닷넷 프레임워크에서 새로 개발되었다기 보다는, 이전에 있던 기능들을 닷넷에 맞게 개선시킨 것입니다.

닷넷 환경에서 개발을 하게 되면, 많은 기능들이 이미 클래스형태로 제공되기 때문에, 개발자는 해당 클래스 라이브러리를 사용해서 다양한 환경에 맞는 프로그램을 제작할 수 있습니다.

 

아래 그림은 닷넷의 핵심 구조를 도식화 한 그림입니다.

%eb%8b%b7%eb%84%b7-%ed%94%84%eb%a0%88%ec%9e%84-%ec%9b%8c%ed%81%ac-%eb%8f%99%ec%9e%91

[그림] 닷넷 프레임워크 동작

위의 그림을 보면 가운데 Common Language Infrastructure 라고 되어 있는 부분을 확인할 수 있습니다.

이 부분이 바로 닷넷이 동작하는 데 있어 핵심이 되는 부분이라고 할 수 있습니다.

 

C#, Visual Basic 등의 언어로 제작된 프로그램이 CLI 라는 가상 머신이 해석할 수 있도록, 중간 언어로 컴파일을 하고,

이렇게 컴파일 된 중간 언어를 CLI에서 해석을 해서 다른 언어로(C#, Visual Basic 등) 제작된 프로그램이라도 같은 환경에서 실행될 수 있도록 구성되어 있습니다.

이 CLI를 실제로 구현한 것이 바로 Common Language Runtime, CLR 입니다.


RonnieJ

프리랜서 IT강사로 활동하고 있습니다. 게임 개발, C++/C#, 1인 기업에 관심이 많습니다.

1 Response

  1. 야르르야 댓글:

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

Please turn AdBlock off

Notice for AdBlock users

Please turn AdBlock off