본문 바로가기
코딩/C#

.NET Framework가 뭐지

by witn331ss 2023. 11. 10.

프로그램을 만들기 위해서 먼저 어떤 것들이 필요할지 생각해보자.

 

코드를 작성하기 위한 개발 툴이 필요하고

작성한 코드를 컴파일이라는 과정을 거쳐서 실행파일을 만들어줘야 한다.

 

컴파일이라는 과정을 보다 면밀히 살펴보자.

 

.NET Framework는 마이크로소프트에서 만든 프로그램 개발 및 실행환경이다.

흔히 라이브러리라는 용어와 함께 사용되는지

 

프레임워크와 라이브러리는 우리가 프로그램을 만드는데 도움을 주는 것들이다.

차이가 있다면 프레임워크는 공장, 어떤 에셋의 느낌

라이브러리는 망치와 같은 도구라고 볼 수 있다.

 

 

##

 

.NET Framework가 설치되면 CLR이라는 일종의 가상머신이 설치되는데

이 CLR이라는 가상머신 위해서 C#코드가 실행된다.

 

CLS(.NET Framework 언어가 지켜야하는 언어표준규약)를 지키는 언어라면

어떤 언어든 CLR 위에서 실행이 가능하다.

 

개발자가 C#으로 코딩을 하고 실행하기 위해서는 컴파일을 거쳐야하는데

이때 C# 컴파일러가 실행된다.

 

어느 언어를 사용하든 컴파일된 IL코드는 같다.

컴파일이 완료되면 MSIL(Microsoft Intermediate Language / 중간언어) 로 변환된다.

여러가지 언어를 지원하기 위한 것으로 다른 언어들도 공통적으로 중간 언어로 변환된다.

 

IL 코드 안에는 Meta Data와 Manifest 파일이 포함되어 있다.

(Manifest 안에는 어셈블리의 형식, 버전 보안 요구 사항에 대한 정보들이 포함되어 있다)

 

그리고 프로그램이 실행될 때 이 IL코드는 CLR에 있는

JIT Compiler에 의해 컴파일 되어 (JIT 컴파일 - 실행할 때 마다 실시간으로 컴파일해서 실행)

해당 플랫폼에 맞는 원시코드로 변환되어 실행된다.