π₯.NET νλ μμν¬ μκ°
.NET νλ μμν¬λ 무μμΌκΉ?
λ§μ΄ν¬λ‘μννΈκ° κ°λ°ν μμ© νλ‘κ·Έλ¨ κ°λ° λ° μ€ν νκ²½μΈ .NET νλ μμν¬λ CLRμ΄λΌλ κ°μλ¨Έμ μ μ¬μ©νμ¬ λͺ¨λ νλ«νΌμμμ λμν μ μλ€. μ¦, μ΄λ€ OSμ΄λ .NET νλ μμν¬λ§ μ€μΉλμ΄ μμΌλ©΄ .NET μμ© νλ‘κ·Έλ¨μ΄ λμ κ°λ₯νλ€. .NETνλ μμν¬λ μμ© νλ‘κ·Έλ¨μ κ°λ°νκ³ μ€ννλλ° νμν μννΈμ¨μ΄λ‘ λ§μΉ μλ°μ€ν¬λ¦½νΈ μ½λ μ€ννκ²½μΈ Node.jsμ λΉμ·ν(?) μν μ νλ€.
.NET νλ μμν¬μ ꡬ쑰
λ΄λΆλ μ£Όλ‘ 3κ°μ§ μ£Όμ κ΅¬μ± μμλ‘ κ΅¬μ±λλ€.
- ν΅μ¬ κ΅¬μ± μμ CLR(Common Language Runtime): .NET νλ μμν¬μ ν΅μ¬ κΈ°λ₯μ λ΄λΉνλ€. μλ°μ JVMκ³Ό μ μ¬ν μν μ νλ€. μ¦, CLRμ μμ© νλ‘κ·Έλ¨μ μ€ννκ³ κ΄λ¦¬νλ κ°μ λ¨Έμ μΌλ‘, λ€μν νλ«νΌμμ μμ© νλ‘κ·Έλ¨μ μ€νν μ μλλ‘ νλ€.
- JIT μ»΄νμΌλ¬: C# μ½λλ₯Ό μ»΄νμΌνλ©΄ MSIL(μ€κ° μΈμ΄)μ΄λΌλ μ€κ° μ½λκ° μμ±λλ€. JIT μ»΄νμΌλ¬λ μ»΄ν¨ν°κ° λ€μ μ½μμ μλλ‘ MSIL μ½λλ₯Ό μ€ν κ°λ₯ν λ€μ΄ν°λΈ μ½λλ‘ λ³ννμ¬ μμ© νλ‘κ·Έλ¨μ μ€ννλ€.
- ν΄λμ€ λΌμ΄λΈλ¬λ¦¬: .NET νλ μμν¬μλ λ€μν κΈ°λ₯κ³Ό APIκ° ν¬ν¨λ ν΄λμ€ λΌμ΄λΈλ¬λ¦¬κ° μλ€. μ΄λ¬ν λΌμ΄λΈλ¬λ¦¬λ κ°λ°μκ° ν¨μ¨μ μΌλ‘ μμ© νλ‘κ·Έλ¨μ κ°λ°ν μ μλλ‘ λμμ€λ€.
.NET νλ μμν¬μ μΆν μ΄μ μλ μ΄λ€ λꡬλ€μ΄ μ¬μ©λμμκΉ?π°
μ΄μ μ μ¬μ©λλ λ 립μ μΈ κ°λ° λκ΅¬λ€ VC++(Visual C++), VB(Visual Basic), λΉμ£ΌμΌ νμ€νλ‘(Visual FoxPro)λ± κ°κ° λ³λλ‘ μ€μΉλκ³ νλ§€λμμΌλ©°, κ°λ°μλ€μ λ€μν μΈμ΄μ λꡬλ₯Ό μ¬μ©ν΄μΌ νλ€. MicroSoftλ μ΄λ₯Ό νλμ ν¨ν€μ§λ‘ λ¬Άμ΄ κ°λ°μλ€μκ² μ 곡νμ¬ ν΅ν©λ κ°λ°νκ²½μ μ 곡νκΈ° μμνλ€.
.NET νλ μμν¬μ μ₯μ
- μ¬λ¬ λꡬλ₯Ό ν΅ν©νμ¬ κ°λ°μλ€μκ² νΈλ¦¬ν νκ²½ μ 곡
- λ·λ· νλ μμν¬λ₯Ό ν΅ν΄ λ€μν νλ«νΌμμ νλ‘κ·Έλ¨μ κ°λ°νκ³ μ€νν μ μλ€.
β¨ C# μΈμ΄μμ κ΄κ³
C# μΈμ΄μ .NET νλ μμν¬λ λ§μ΄ν¬λ‘μννΈμ μμ© νλ‘κ·Έλ¨ κ°λ° λ° μ€ν νκ²½μ ꡬμΆνλ λ° μ€μν μν μ νλ€.
C# μΈμ΄ νΉμ§
- λ§μ΄ν¬λ‘μννΈμμ κ°λ°ν κ°μ²΄μ§ν₯ νλ‘κ·Έλλ° μΈμ΄
- λ·λ· νλ μμν¬ κΈ°λ°μμ μ€νλλ μμ© νλ‘κ·Έλ¨μ κ°λ°νλ λ° μ¬μ©λ¨
- C λ° C++κ³Ό μ μ¬ν λ¬Έλ²μ κ°μ§λ©°, κ°μ²΄μ§ν₯ νλ‘κ·Έλλ°μ μ§μ
- C++μ μΈμ΄μ νΉμ±μ κ³ λ €νμ¬ μ΄λ¦μ΄ μ§μ΄μ§ (C++μ ++λ₯Ό C#μΌλ‘ νν)
C# μΈμ΄μ μν
- .NET νλ μμν¬μμ μ€νλλ μμ© νλ‘κ·Έλ¨μ κ°λ°νλ μ£Όμ νλ‘κ·Έλλ° μΈμ΄
- λ€μν κΈ°λ₯μ μ 곡νμ¬ κ°λ° μμ°μ±μ ν₯μμν΄
π‘ κ²°λ‘
.NET νλ μμν¬λ μμ© νλ‘κ·Έλ¨ κ°λ°μ μν ν¨μ¨μ μΈ νκ²½μ μ 곡νλ©° C# μΈμ΄λ₯Ό νμ©νμ¬ κ°λ°μλ κ°λ ₯ν κΈ°λ₯μ κ°μΆ μμ© νλ‘κ·Έλ¨μ μμ½κ² λ§λ€κ³ μ¬μ©μμκ² μ 곡ν μ μλ€.