개발지식

닷넷(.net) 이란?!

우루쾅 2024. 3. 21. 20:58
728x90
반응형
SMALL

닷넷(.net)이란

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

 

주요 특징

언어의 다양성 지원

C#, VB.NET 등 다양한 프로그래밍 언어를 지원하여 개발자가 선호하는 언어를 선택하여 개발할 수 있습니다.

 

통합 개발 환경(IDE)

비주얼 스튜디오(Visual Studio)와 같은 강력한 통합 개발 환경을 제공하여, 개발의 효율성을 높여줍니다.

 

풍부한 라이브러리

.NET Framework는 다양한 기능을 제공하는 방대한 라이브러리를 포함하고 있어, 개발 시 필요한 기능을 쉽게 구현할 수 있습니다.

 

멀티 플랫폼 지원

.NET Core의 등장으로, 윈도우 뿐만 아니라 리눅스, macOS 등 다양한 운영 체제에서도 개발이 가능해졌습니다.

 

주요 구성 요소

공용 언어 런타임(Common Language Runtime, CLR)

프로그램의 실행을 관리하는 핵심 컴포넌트로, 메모리 관리, 스레드 실행, 코드 안전성 검사 등을 담당합니다.

 

프레임워크 클래스 라이브러리(Framework Class Library, FCL)

파일 입출력, 데이터베이스 접속, 그래픽 처리 등을 위한 다양한 클래스와 API를 제공합니다.

 

ASP.NET

웹 어플리케이션 개발을 위한 프레임워크로, 동적인 웹 사이트, 웹 애플리케이션, 웹 서비스를 개발할 수 있습니다.

 

Windows Forms

데스크탑 어플리케이션을 개발하기 위한 GUI 클래스 라이브러리입니다.

 

Windows Presentation Foundation (WPF)

더욱 복잡하고 풍부한 사용자

 

닷넷 처리과정

닷넷 프레임워크(.NET Framework)에서 어플리케이션이 처리되는 과정은 공용 언어 런타임(Common Language Runtime, CLR)의 관리 하에 이루어지며, 어플리케이션의 실행부터 종료까지의 전체적인 흐름을 포함합니다.

 

① 컴파일 과정

개발자가 C#, VB.NET 등의 .NET 지원 언어로 작성한 소스 코드는 컴파일러에 의해 중간 언어(IL, Intermediate Language) 코드로 컴파일됩니다. 이 중간 언어 코드는 고수준 언어와 기계어 사이의 저수준 언어로, 모든 .NET 언어에 공통적으로 사용됩니다.

 

② 어셈블리 생성

컴파일된 IL 코드는 어셈블리(Assembly) 형태로 저장됩니다. 어셈블리는 실행 가능한 애플리케이션, 라이브러리 등을 포함하며, 메타데이터를 포함하여 어플리케이션의 구조와 속성을 설명합니다.

 

③ 실행 시 JIT 컴파일

사용자가 .NET 어플리케이션을 실행하면, CLR은 필요한 어셈블리를 로드하고, JIT(Just-In-Time) 컴파일러를 사용하여 IL 코드를 해당 시스템의 기계어로 변환(컴파일)합니다. 이 과정은 어플리케이션이 실행될 때마다 실시간으로 이루어집니다.

 

④ CLR에 의한 관리

JIT 컴파일러에 의해 기계어로 변환된 코드는 CLR에 의해 실행됩니다. CLR은 코드의 실행을 관리하며, 메모리 관리, 예외 처리, 보안 검사, 스레드 관리 등의 중요한 기능을 제공합니다.

 

⑤ 프레임워크 클래스 라이브러리(FCL)의 사용

어플리케이션은 실행 중에 필요한 기능을 프레임워크 클래스 라이브러리(FCL)에서 제공하는 다양한 클래스와 API를 통해사용할 수 있습니다. 이러한 라이브러리를 통해 파일 입출력, 네트워킹, 그래픽 처리 등의 작업을 수행합니다.

 

⑥어플리케이션의 실행 및 종료

CLR은 어플리케이션이 정상적으로 실행되도록 관리하며, 어플리케이션의 수행이 끝나면 메모리 해제 및 기타 정리 작업을 수행하여 어플리케이션을 종료합니다.

 

이러한 과정을 통해 닷넷 프레임워크는 다양한 언어로 작성된 소스 코드가 하나의 공통된 플랫폼에서 실행될 수 있도록 하며, 강력한 메모리 관리 및 예외 처리 기능을 제공하여 안정적인 어플리케이션 개발을 가능하게 합니다.

 

 

출처

닷넷 - https://dotnet.microsoft.com/ko-kr/

위키백과 - https://ko.wikipedia.org/wiki/%EB%8B%B7%EB%84%B7_%ED%94%84%EB%A0%88%EC%9E%84%EC%9B%8C%ED%81%AC

728x90
반응형
LIST