C# - .NET Runtime

Dev_Jen
|2025. 7. 1. 12:12
반응형

✅ .NET 런타임이란?

.NET Runtime은 C#, F#, VB.NET 같은 **.NET 언어로 만든 프로그램을 실행해주는 "실행 환경(엔진)"**이야.
다시 말해, .NET 코드가 컴퓨터에서 실제로 돌아가도록 도와주는 핵심 소프트웨어야.


✅ .NET 런타임이 하는 일 (핵심 역할)

역할설명
🧠 CLR (Common Language Runtime) .NET의 핵심 엔진. 모든 .NET 프로그램은 CLR 위에서 실행됨
🧼 GC (Garbage Collector) 사용되지 않는 힙 메모리 자동 정리
📚 타입 시스템 및 형식 검사 코드에서 사용된 타입들이 안전한지 검사
🧱 JIT 컴파일 (Just-In-Time) C# 코드를 실행 가능한 기계어로 실행 시에 변환
🔒 보안 및 예외 처리 프로그램의 오류 관리, 접근 제어 등을 담당
 

✅ .NET 프로그램 실행 과정 요약

  1. C# 코드를 작성
  2. 컴파일 → **IL (중간 언어, Intermediate Language)**로 변환
  3. 실행 시 .NET 런타임(CLR)이
    • IL 코드를 기계어로 변환(JIT)
    • GC로 메모리 관리
    • 예외 처리, 타입 검사 등 실행 환경 제공
  4. 최종적으로 프로그램이 실행됨

✅ .NET Runtime 구성 요소

구성요소설명
CLR (Common Language Runtime) 핵심 실행 엔진
JIT Compiler IL을 기계어로 즉석에서 번역
GC (Garbage Collector) 자동 메모리 관리
CTS (Common Type System) 모든 .NET 언어가 공유하는 타입 규칙
CLS (Common Language Specification) 언어 간 호환성을 위한 최소 규칙
BCL (Base Class Library) System.String, List<T>, Math 등 기본 라이브러리 모음
 

✅ Unity랑 .NET은 어떤 관계?

  • Unity는 C#을 사용하는데, Mono / IL2CPP / CoreCLR 같은 .NET 호환 런타임을 사용해
  • Unity에서의 GC, List<T>, object, Exception 등도 다 .NET 런타임 기반 기능이야

✅ 정리 한 줄 요약

.NET 런타임은 C# 프로그램이 돌아가게 해주는 실행 엔진이며, GC, 예외 처리, 타입 검사, JIT 컴파일 등을 자동으로 담당한다.

반응형