โ C#
๋ง์ดํฌ๋ก์ํํธ์์ ๊ฐ๋ฐํ ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ก .NET ํ๋ ์์ํฌ ์์์ ์ฌ์ฉ๋๋ค.
โ .NET ํ๋ ์์ํฌ
๋ง์ดํฌ๋ก์ํํธ์์ ๊ฐ๋ฐํ ์๋์ฐ ํ๋ก๊ทธ๋จ ๊ฐ๋ฐ ๋ฐ ์คํ ํ๊ฒฝ์ด๋ค.
โ CIL (Common Intermediate Language)
.NET ํ๋ ์์ํฌ์์ ์ฌ์ฉ๋๋ ์ค๊ฐ ์ธ์ด๋ก ๋ชจ๋ .NET ์ธ์ด(C#, VB.NET, F# ๋ฑ)๋ก ์์ฑ๋ ์ฝ๋๋ CIL๋ก ์ปดํ์ผ๋๋ค.
โ CLR (Common Language Runtime)
.NET ํ๋ ์์ํฌ์ ๊ตฌ์ฑ ์์๋ก ์์ฑํ ์์ค ์ฝ๋๋ฅผ OS์์ .NET ํ๋ ์์ํฌ์์ ์๋ํ๊ฒ ํด์ฃผ๋ฉฐ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ, ์ฐ๋ ๋ ๊ด๋ฆฌ, ์์ธ ์ฒ๋ฆฌ๋ฑ์ ๋ด๋นํ๋ค.
๋ด๋ถ์๋ BCL(Base Class Library), Thread Support, Type Checker, Exception Manager, Security Engine, JIT Compiler, Garbage Collector, CLR Loader๋ฑ์ด ์กด์ฌํ๋ค.
โ ์คํ ๊ณผ์
โ 1. C# ์ธ์ด๋ก ์์ค ์ฝ๋๋ฅผ ์์ฑํ๋ค.
โ 2. ์ปดํ์ผ๋ฌ๊ฐ ์์ค ์ฝ๋๋ฅผ IL(Intermediate Language, ์ค๊ฐ ์ธ์ด) ์ฝ๋๋ก ๋ณํํ๋ค.
* ์ด IL ์ฝ๋๋ ์ด์ ๋ธ๋ฆฌ๋ผ๋ ๋จ์๋ก ์ ์ฅ๋๋ค (์ผ๋ฐ์ ์ผ๋ก .exe ๋๋ .dll ํ์)
โ 3. ์ด ํ์ผ์ ์คํ์ํค๋ฉด CLR์ด IL ์ฝ๋๋ฅผ ๋ค์ดํฐ๋ธ ์ฝ๋๋ก ๋ณํํ๋ค.
* ์ด ๊ณผ์ ์ ์คํ์ ํ์ํ ์ฝ๋๋ง ์ค์๊ฐ์ผ๋ก ์ปดํ์ผํ๋ค๊ณ ํ์ฌ JIT(Just In Time) ์ปดํ์ผ์ด๋ผ ํ๋ค.
โ 4. ์ปดํ์ผ๋ ์ฝ๋๋ฅผ ์คํํ๋ค.
โ JIT ์ปดํ์ผ์ ์ฅ๋จ์
โ ์ฅ์
1. ํ๋ซํผ ๋ ๋ฆฝ์ฑ : IL ์ฝ๋๊ฐ ํ๋ซํผ์ ๋ ๋ฆฝ์ ์ด๊ธฐ ๋๋ฌธ์ ๋์ผํ ์ด์ ๋ธ๋ฆฌ๊ฐ ์ฌ๋ฌ OS์์ ์คํ๋ ์ ์๋ค.
2. ์ต์ ํ : ์ฝ๋๊ฐ ์คํ๋๋ ์์ ์ ํ๋ซํผ์ ์ต์ ํ๋ ๋ค์ดํฐ๋ธ ์ฝ๋๋ฅผ ์์ฑํ์ฌ ๋ฐํ์ ์ฑ๋ฅ์ ํฅ์์ํจ๋ค.
โ ๋จ์
1. ์ด๊ธฐ ์ฑ๋ฅ ์ ํ : ํ๋ก๊ทธ๋จ ์คํ ์ IL ์ฝ๋๋ฅผ ๋ค์ดํฐ๋ธ ์ฝ๋๋ก ๋ณํํ๋ ๋ฐ ์๊ฐ์ด ๊ฑธ๋ฆฐ๋ค.
'๐ C#' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| var ํค์๋ (0) | 2024.07.28 |
|---|---|
| as, is ํค์๋ (0) | 2024.07.19 |
| LINQ (0) | 2024.07.15 |
| ๋ฌธ์์ด ์์ (0) | 2024.07.14 |
| ๋ฐ์ดํฐ ํ์ (0) | 2024.07.08 |