๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
์นดํ…Œ๊ณ ๋ฆฌ ์—†์Œ

.NET (๋‹ท๋„ท ํ”„๋ ˆ์ž„์›Œํฌ)์ด๋ž€ ๋ฌด์—‡์ธ๊ฐ€?

by 5566 2023. 10. 17.

1. .NET ํ”„๋ ˆ์ž„์›Œํฌ์˜ ๊ฐœ์š”

.NET ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ์— ์˜ํ•ด ๊ฐœ๋ฐœ๋œ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ํ”„๋ ˆ์ž„์›Œํฌ์ด๋‹ค. ์ด ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ๋‹ค์–‘ํ•œ ์œ ํ˜•์˜ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ๊ฐœ๋ฐœ์„ ์œ„ํ•œ ํ†ตํ•ฉ ํ™˜๊ฒฝ์„ ์ œ๊ณตํ•˜๋ฉฐ, ์•ˆ์ •์„ฑ, ๋ณด์•ˆ์„ฑ, ์ƒํ˜ธ์šด์šฉ์„ฑ์„ ๊ฐ•์กฐํ•˜๊ณ  ์žˆ๋‹ค.

.NET ํ”„๋ ˆ์ž„์›Œํฌ๋Š” C#, Visual Basic.NET, F# ๋“ฑ์˜ ์–ธ์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ๋„๋ก ์ง€์›ํ•œ๋‹ค. ์ด ์™ธ์—๋„ ASP.NET, Windows Forms, WPF ๋“ฑ์˜ ๋„๊ตฌ์™€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ํฌํ•จํ•˜๊ณ  ์žˆ์–ด ์‚ฌ์šฉ์ž๊ฐ€ ๋‹ค์–‘ํ•œ ํ”Œ๋žซํผ๊ณผ ๊ธฐ๊ธฐ์—์„œ ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ํ”„๋กœ๊ทธ๋žจ์„ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ๋‹ค.

.NET ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ํ”Œ๋žซํผ ์ค‘๋ฆฝ์ ์ด๋ฉฐ, ๊ฐœ๋ฐœ์ž๊ฐ€ ํ•œ ๋ฒˆ ์ž‘์„ฑํ•œ ์ฝ”๋“œ๋ฅผ ์—ฌ๋Ÿฌ ํ”Œ๋žซํผ์—์„œ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค€๋‹ค. ๋˜ํ•œ, ๊ฐœ๋ฐœ ๋„๊ตฌ์™€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ํ’๋ถ€ํ•œ ์ƒํƒœ๊ณ„๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์–ด ๊ฐœ๋ฐœ์ž๋“ค์—๊ฒŒ ํŽธ์˜์„ฑ๊ณผ ์ƒ์‚ฐ์„ฑ์„ ๋†’์—ฌ์ค€๋‹ค.

.NET ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ๊ณผ ๊ธฐ์ˆ ์„ ์ œ๊ณตํ•˜์—ฌ ๋‹ค์–‘ํ•œ ๋ถ„์•ผ์—์„œ ํ™œ์šฉ๋˜๊ณ  ์žˆ๋‹ค. ์›น ๊ฐœ๋ฐœ, ๊ฒŒ์ž„ ๊ฐœ๋ฐœ, ๋ชจ๋ฐ”์ผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—ฐ๋™ ๋“ฑ์˜ ์ž‘์—…์„ ํšจ์œจ์ ์œผ๋กœ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ํ™˜๊ฒฝ์„ ์ œ๊ณตํ•œ๋‹ค. ๋˜ํ•œ, ์—…๋ฌด์šฉ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ๋ถ€ํ„ฐ ํฌ๋กœ์Šค ํ”Œ๋žซํผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊นŒ์ง€ ๋‹ค์–‘ํ•œ ์ข…๋ฅ˜์˜ ํ”„๋กœ๊ทธ๋žจ์„ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ๋‹ค.

.NET ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ์˜ค๋žœ ๊ธฐ๊ฐ„์— ๊ฑธ์ณ ๊ฐœ๋ฐœ์ž์™€ ์ปค๋ฎค๋‹ˆํ‹ฐ๋กœ๋ถ€ํ„ฐ ์ง€์†์ ์ธ ํ”ผ๋“œ๋ฐฑ๊ณผ ์—…๋ฐ์ดํŠธ๋ฅผ ๋ฐ›์•„ ์™”์œผ๋ฉฐ, ์•ˆ์ •์„ฑ๊ณผ ๋ณด์•ˆ์„ฑ์„ ๊ฐ•ํ™”ํ•˜๋ฉด์„œ ๋ฐœ์ „ํ•ด์™”๋‹ค. ๋”ฐ๋ผ์„œ, ์•ˆ์ •์ ์ด๊ณ  ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ์†”๋ฃจ์…˜์„ ๊ฐœ๋ฐœํ•˜๋Š” ๋ฐ ํฐ ๋„์›€์„ ์ฃผ๋Š” ํ”„๋ ˆ์ž„์›Œํฌ์ด๋‹ค.

2. .NET ์–ธ์–ด์™€ ๋„๊ตฌ

.NET ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ๋‹ค์–‘ํ•œ ์–ธ์–ด์™€ ๋„๊ตฌ๋ฅผ ์ง€์›ํ•˜์—ฌ ๊ฐœ๋ฐœ์ž๋“ค์ด ์‰ฝ๊ณ  ํšจ์œจ์ ์œผ๋กœ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ค€๋‹ค.

.NET ์–ธ์–ด

  1. C#: C#์€ ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋กœ, .NET ํ”„๋ ˆ์ž„์›Œํฌ์˜ ๊ธฐ๋ณธ ์–ธ์–ด์ด๋‹ค. C#์€ ๊ฐ•๋ ฅํ•˜๊ณ  ํ‘œํ˜„๋ ฅ์ด ๋›ฐ์–ด๋‚˜๋ฉฐ, ๋ฉ€ํ‹ฐํŒจ๋Ÿฌ๋‹ค์ž„ ์ง€์›์œผ๋กœ ๋‹ค์–‘ํ•œ ์œ ํ˜•์˜ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ๊ฐœ๋ฐœ์— ์ ํ•ฉํ•˜๋‹ค.

  2. Visual Basic.NET: Visual Basic.NET์€ ๊ฐ„๋‹จํ•˜๊ณ  ์ง๊ด€์ ์ธ ๋ฌธ๋ฒ•์„ ๊ฐ–์ถ˜ ์–ธ์–ด๋กœ, ๋น„์ „๋ฌธ๊ฐ€๋“ค๋„ ์‰ฝ๊ฒŒ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค€๋‹ค. Visual Basic.NET์€ C#๊ณผ ํ˜ธํ™˜๋˜๋ฉฐ, ์ฃผ๋กœ ๋น„์ฆˆ๋‹ˆ์Šค ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ์— ๋งŽ์ด ์‚ฌ์šฉ๋œ๋‹ค.

  3. F#: F#์€ ๊ธฐ๋Šฅ์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋กœ, ๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ์™€ ์ˆ˜ํ•™์  ๋ชจ๋ธ๋ง ๋“ฑ์— ํŠนํ™”๋˜์–ด ์žˆ๋‹ค. F#์€ C#๊ณผ ํ•จ๊ป˜ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์–ด ๋‹ค์–‘ํ•œ ๋ฌธ์ œ์— ๋Œ€ํ•œ ์†”๋ฃจ์…˜์„ ์ œ๊ณตํ•œ๋‹ค.

.NET ๋„๊ตฌ

  1. Visual Studio: Visual Studio๋Š” .NET ๊ฐœ๋ฐœ์„ ์œ„ํ•œ ์ฃผ์š” ํ†ตํ•ฉ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์ด๋‹ค. C#, Visual Basic.NET, F# ๋“ฑ์˜ ์–ธ์–ด๋ฅผ ์ง€์›ํ•˜๋ฉฐ, ํ”„๋กœ์ ํŠธ ๊ด€๋ฆฌ, ๋””๋ฒ„๊น…, ํ…Œ์ŠคํŠธ, ๋ฐฐํฌ ๋“ฑ์˜ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•œ๋‹ค.

  2. ASP.NET: ASP.NET์€ ์›น ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ๊ฐœ๋ฐœ์„ ์œ„ํ•œ ํ”„๋ ˆ์ž„์›Œํฌ๋กœ, ์›น ํŽ˜์ด์ง€, ์›น ์„œ๋น„์Šค, ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ๋‹ค. ASP.NET์€ ๋‹ค์–‘ํ•œ ์›น ๊ธฐ์ˆ ๊ณผ ํ…œํ”Œ๋ฆฟ์„ ์ œ๊ณตํ•˜์—ฌ ์›น ๊ฐœ๋ฐœ์„ ๋น ๋ฅด๊ณ  ํšจ์œจ์ ์œผ๋กœ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋„์™€์ค€๋‹ค.

  3. Windows Forms: Windows Forms๋Š” Windows ๊ธฐ๋ฐ˜ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ๊ฐœ๋ฐœํ•˜๊ธฐ ์œ„ํ•œ ๋„๊ตฌ์ด๋‹ค. GUI ๊ธฐ๋ฐ˜์˜ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ์‰ฝ๊ฒŒ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋‹ค์–‘ํ•œ ์ปจํŠธ๋กค๊ณผ ์ด๋ฒคํŠธ๋ฅผ ์ œ๊ณตํ•˜์—ฌ ์‚ฌ์šฉ์ž ์นœํ™”์ ์ธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.

  4. WPF: WPF(Windows Presentation Foundation)๋Š” Windows ํ™˜๊ฒฝ์—์„œ ๋…๋ฆฝํ˜• ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ๊ฐœ๋ฐœ์„ ์œ„ํ•œ ํ”Œ๋žซํผ์ด๋‹ค. WPF๋Š” XAML๊ณผ C# ๋“ฑ์˜ ์–ธ์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ค์–‘ํ•œ ์‹œ๊ฐ์  ์š”์†Œ๋ฅผ ์กฐํ•ฉํ•˜์—ฌ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ๋‹ค.

์ด์™ธ์—๋„ .NET ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ๋‹ค์–‘ํ•œ ๋„๊ตฌ์™€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ œ๊ณตํ•˜์—ฌ ๊ฐœ๋ฐœ์ž๋“ค์ด ํšจ์œจ์ ์œผ๋กœ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ค€๋‹ค. ๊ฐœ๋ฐœ์ž๋Š” ์ž์‹ ์˜ ์„ ํ˜ธํ•˜๋Š” ์–ธ์–ด์™€ ๋„๊ตฌ๋ฅผ ์„ ํƒํ•˜์—ฌ .NET ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

3. .NET ํ”„๋ ˆ์ž„์›Œํฌ์˜ ๊ตฌ์„ฑ ์š”์†Œ

.NET ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ๋‹ค์–‘ํ•œ ๊ตฌ์„ฑ ์š”์†Œ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์œผ๋ฉฐ, ๊ฐ ์š”์†Œ๋Š” ํŠน์ • ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•˜๊ณ  ๊ฐœ๋ฐœ์ž์—๊ฒŒ ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ๊ณผ ๋„๊ตฌ๋ฅผ ์ œ๊ณตํ•œ๋‹ค.

1. ๊ณต์šฉ ์–ธ์–ด ๋Ÿฐํƒ€์ž„ (Common Language Runtime, CLR)

CLR์€ .NET ํ”„๋ ˆ์ž„์›Œํฌ์˜ ํ•ต์‹ฌ ์ปดํฌ๋„ŒํŠธ๋กœ, ์ฝ”๋“œ ์‹คํ–‰, ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ, ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ๋“ฑ์˜ ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค. CLR์€ ์ค‘๊ฐ„ ์–ธ์–ด์ธ Common Intermediate Language (CIL)๋กœ ์ปดํŒŒ์ผ๋œ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๋ฉฐ, JIT(Just-In-Time) ์ปดํŒŒ์ผ๋Ÿฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ฝ”๋“œ๋ฅผ ๊ธฐ๊ณ„์–ด๋กœ ๋ณ€ํ™˜ํ•œ๋‹ค. CLR์€ .NET ํ”„๋ ˆ์ž„์›Œํฌ์˜ ์ƒํ˜ธ์šด์šฉ์„ฑ๊ณผ ์ด์‹์„ฑ์„ ๋ณด์žฅํ•œ๋‹ค.

2. ํด๋ž˜์Šค ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ (Class Library)

ํด๋ž˜์Šค ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ๊ณผ ํด๋ž˜์Šค๋ฅผ ์ œ๊ณตํ•˜๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ง‘ํ•ฉ์ด๋‹ค. ํด๋ž˜์Šค ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ๋‹ค์–‘ํ•œ ์˜์—ญ์— ๋Œ€ํ•œ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋ฉฐ, ๊ฐœ๋ฐœ์ž๋Š” ์ด๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ํŒŒ์ผ ์‹œ์Šคํ…œ ์•ก์„ธ์Šค, ๋„คํŠธ์›Œํฌ ํ†ต์‹ , ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—ฐ๊ฒฐ ๋“ฑ์˜ ์ž‘์—…์„ ์ฒ˜๋ฆฌํ•˜๋Š” ํด๋ž˜์Šค๋ฅผ ํฌํ•จํ•œ๋‹ค.

3. ์–ธ์–ด ์ข…์† ์ปดํŒŒ์ผ๋Ÿฌ (Language-Specific Compiler)

.NET ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ๋‹ค์–‘ํ•œ ์–ธ์–ด๋ฅผ ์ง€์›ํ•˜๋ฉฐ, ๊ฐ ์–ธ์–ด์—๋Š” ํ•ด๋‹น ์–ธ์–ด๋ฅผ ์ปดํŒŒ์ผํ•˜๋Š” ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ๋‹ค. ์ด ์ปดํŒŒ์ผ๋Ÿฌ๋“ค์€ ํ•ด๋‹น ์–ธ์–ด์˜ ์†Œ์Šค ์ฝ”๋“œ๋ฅผ CIL๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ CLR์—์„œ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ํ˜•์‹์œผ๋กœ ๋งŒ๋“ ๋‹ค. C#์˜ ๊ฒฝ์šฐ์—๋Š” C# ์ปดํŒŒ์ผ๋Ÿฌ, Visual Basic.NET์˜ ๊ฒฝ์šฐ์—๋Š” Visual Basic ์ปดํŒŒ์ผ๋Ÿฌ ๋“ฑ์ด ํฌํ•จ๋œ๋‹ค.

4. ๋„๊ตฌ์™€ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ

.NET ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ๋‹ค์–‘ํ•œ ๋„๊ตฌ์™€ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์„ ์ œ๊ณตํ•˜์—ฌ ๊ฐœ๋ฐœ์ž๋“ค์ด ํŽธ๋ฆฌํ•˜๊ฒŒ ๊ฐœ๋ฐœ์„ ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ค€๋‹ค. ์ด์—๋Š” IDE(ํ†ตํ•ฉ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ)์ธ Visual Studio, ๋ช…๋ น์ค„ ๋„๊ตฌ, ๋””๋ฒ„๊น… ๋„๊ตฌ, ํ…Œ์ŠคํŠธ ๋„๊ตฌ, ๋ฐฐํฌ ๋„๊ตฌ ๋“ฑ์ด ํฌํ•จ๋œ๋‹ค. ์ด๋Ÿฌํ•œ ๋„๊ตฌ๋“ค์€ ๊ฐœ๋ฐœ ์ƒ์‚ฐ์„ฑ์„ ํ–ฅ์ƒ์‹œ์ผœ์ค„ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ, ์ฝ”๋“œ ํ’ˆ์งˆ๊ณผ ์„ฑ๋Šฅ ํ–ฅ์ƒ์—๋„ ๋„์›€์„ ์ค€๋‹ค.

5. ๋‹ค์–‘ํ•œ ํ”Œ๋žซํผ๊ณผ ๊ธฐ๊ธฐ ์ง€์›

.NET ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ๋‹ค์–‘ํ•œ ํ”Œ๋žซํผ๊ณผ ๊ธฐ๊ธฐ์—์„œ ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ๋„๋ก ์ง€์›ํ•œ๋‹ค. Windows, macOS, Linux ๋“ฑ ๋‹ค์–‘ํ•œ ์šด์˜์ฒด์ œ์—์„œ ์‹คํ–‰ ๊ฐ€๋Šฅํ•˜๋ฉฐ, ๋ชจ๋ฐ”์ผ ๊ธฐ๊ธฐ, ํด๋ผ์šฐ๋“œ ํ™˜๊ฒฝ, IoT ์žฅ์น˜ ๋“ฑ์—์„œ๋„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋ฅผ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๋Š” ๊ฒƒ์ด .NET Core๋กœ, ์ด๋Š” ๊ฒฝ๋Ÿ‰ํ™”๋œ .NET ๊ตฌํ˜„์ฒด๋กœ ๋‹ค์–‘ํ•œ ํ”Œ๋žซํผ์„ ์ง€์›ํ•œ๋‹ค.

์œ„์—์„œ ์–ธ๊ธ‰ํ•œ ๊ตฌ์„ฑ ์š”์†Œ๋“ค์€ .NET ํ”„๋ ˆ์ž„์›Œํฌ์˜ ๊ธฐ๋Šฅ๊ณผ ์ƒํƒœ๊ณ„๋ฅผ ํ˜•์„ฑํ•˜๊ณ  ๊ฐœ๋ฐœ์ž๋“ค์—๊ฒŒ ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ๊ณผ ๋„๊ตฌ๋ฅผ ์ œ๊ณตํ•œ๋‹ค. ์ด๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ๊ฐœ๋ฐœ์ž๋“ค์€ ์•ˆ์ •์ ์ด๊ณ  ํšจ์œจ์ ์ธ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ๋‹ค.

4. .NET ํ”„๋ ˆ์ž„์›Œํฌ์˜ ์žฅ์ 

.NET ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ๊ฐœ๋ฐœ์ž์—๊ฒŒ ๋‹ค์–‘ํ•œ ์žฅ์ ์„ ์ œ๊ณตํ•˜์—ฌ ๊ฐœ๋ฐœ ์ƒ์‚ฐ์„ฑ๊ณผ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์˜ ํ’ˆ์งˆ์„ ํ–ฅ์ƒ์‹œํ‚จ๋‹ค. ๋‹ค์Œ์€ .NET ํ”„๋ ˆ์ž„์›Œํฌ์˜ ์ฃผ์š” ์žฅ์ ๋“ค์ด๋‹ค:

1. ์–ธ์–ด์˜ ๋‹ค์–‘์„ฑ

.NET ํ”„๋ ˆ์ž„์›Œํฌ๋Š” C#, Visual Basic.NET, F# ๋“ฑ ๋‹ค์–‘ํ•œ ์–ธ์–ด๋ฅผ ์ง€์›ํ•œ๋‹ค. ๊ฐœ๋ฐœ์ž๋Š” ์„ ํ˜ธํ•˜๋Š” ์–ธ์–ด๋ฅผ ์„ ํƒํ•˜์—ฌ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด๋Š” ๊ฐœ๋ฐœ ์ƒ์‚ฐ์„ฑ์„ ํ–ฅ์ƒ์‹œํ‚ค๊ณ  ๋‹ค์–‘ํ•œ ๋ฌธ์ œ์— ๋Œ€ํ•œ ์†”๋ฃจ์…˜์„ ์ œ๊ณตํ•œ๋‹ค.

2. ํ’๋ถ€ํ•œ ํด๋ž˜์Šค ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ

.NET ํ”„๋ ˆ์ž„์›Œํฌ์˜ ํด๋ž˜์Šค ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ๊ณผ ํด๋ž˜์Šค๋ฅผ ์ œ๊ณตํ•œ๋‹ค. ํŒŒ์ผ ์‹œ์Šคํ…œ ์•ก์„ธ์Šค, ๋„คํŠธ์›Œํฌ ํ†ต์‹ , ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—ฐ๊ฒฐ, GUI ๊ฐœ๋ฐœ ๋“ฑ ๋‹ค์–‘ํ•œ ์˜์—ญ์—์„œ ๊ฐœ๋ฐœ์ž๋“ค์€ ์ด๋Ÿฌํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋น ๋ฅด๊ณ  ํšจ์œจ์ ์œผ๋กœ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ๋‹ค.

3. ์ข‹์€ ์„ฑ๋Šฅ๊ณผ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ

.NET ํ”„๋ ˆ์ž„์›Œํฌ์˜ ๊ณต์šฉ ์–ธ์–ด ๋Ÿฐํƒ€์ž„ (CLR)์€ ์ฝ”๋“œ ์‹คํ–‰๊ณผ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•œ๋‹ค. JIT ์ปดํŒŒ์ผ๋Ÿฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ธฐ๊ณ„์–ด๋กœ์˜ ๋ณ€ํ™˜์„ ์ตœ์ ํ™”ํ•˜๋ฉฐ, ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰์…˜์„ ํ†ตํ•ด ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ๋ฅผ ์ž๋™ํ™”ํ•œ๋‹ค. ์ด๋Š” ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์˜ ์„ฑ๋Šฅ๊ณผ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์„ ๊ฐœ์„ ํ•˜์—ฌ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋น ๋ฅธ ์‘๋‹ต ์†๋„๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ๋‹ค.

4. ๋ณด์•ˆ ๊ธฐ๋Šฅ

.NET ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ๋ณด์•ˆ ๊ธฐ๋Šฅ์„ ๊ฐ•ํ™”ํ•˜์—ฌ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์˜ ์•ˆ์ „์„ฑ์„ ์ œ๊ณตํ•œ๋‹ค. ์ฝ”๋“œ ์•ก์„ธ์Šค ๋ณด์•ˆ, ์ฃผ์ฒด ๊ธฐ๋ฐ˜ ๋ณด์•ˆ, ์•”ํ˜ธํ™”, ์ธ์ฆ ๋ฐ ๊ถŒํ•œ ๋ถ€์—ฌ ๋“ฑ์˜ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•œ๋‹ค. ์ด๋Š” ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์˜ ๋ณด์•ˆ์„ ๊ฐ•ํ™”ํ•˜๊ณ  ์‚ฌ์šฉ์ž ๋ฐ์ดํ„ฐ๋ฅผ ๋ณดํ˜ธํ•  ์ˆ˜ ์žˆ๋‹ค.

5. ์ด์‹์„ฑ๊ณผ ์ƒํ˜ธ์šด์šฉ์„ฑ

.NET ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ๋‹ค์–‘ํ•œ ํ”Œ๋žซํผ๊ณผ ๊ธฐ๊ธฐ์—์„œ ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋Š” Windows, macOS, Linux ๋“ฑ์˜ ์šด์˜์ฒด์ œ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ, ๋ชจ๋ฐ”์ผ ๊ธฐ๊ธฐ, ํด๋ผ์šฐ๋“œ ํ™˜๊ฒฝ, IoT ์žฅ์น˜์—์„œ๋„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ์žฅ์ ์„ ๊ฐ€์ง„๋‹ค. ๋˜ํ•œ, COM interop์„ ํ†ตํ•ด ๊ธฐ์กด์˜ COM ๊ตฌ์„ฑ ์š”์†Œ์™€์˜ ์ƒํ˜ธ ์šด์šฉ์„ฑ์„ ์ง€์›ํ•˜์—ฌ ๊ธฐ์กด ์ฝ”๋“œ์™€์˜ ํ†ตํ•ฉ์„ ์šฉ์ดํ•˜๊ฒŒ ํ•ด์ค€๋‹ค.

6. ํ’๋ถ€ํ•œ ๋„๊ตฌ ์ƒํƒœ๊ณ„

.NET ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ๊ณ ๊ธ‰ IDE์ธ Visual Studio๋ฅผ ๋น„๋กฏํ•˜์—ฌ ๋‹ค์–‘ํ•œ ๊ฐœ๋ฐœ ๋„๊ตฌ์™€ ํ™˜๊ฒฝ์„ ์ œ๊ณตํ•œ๋‹ค. ์ด๋Š” ๊ฐœ๋ฐœ ์ƒ์‚ฐ์„ฑ์„ ํ–ฅ์ƒ์‹œ์ผœ์ค„ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ, ๋””๋ฒ„๊น…, ํ…Œ์ŠคํŠธ, ๋ฐฐํฌ ๋“ฑ์„ ์ง€์›ํ•˜์—ฌ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ๋ผ์ดํ”„์‚ฌ์ดํด ์ „๋ฐ˜์„ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐ ๋„์›€์„ ์ค€๋‹ค.

์œ„์˜ ์žฅ์ ๋“ค์€ .NET ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์„ ํƒํ•˜๋Š” ์ด์œ  ์ค‘ ์ผ๋ถ€์ด๋‹ค. ๊ฐœ๋ฐœ์ž๋Š” ์ด๋Ÿฌํ•œ ์žฅ์ ๋“ค์„ ํ™œ์šฉํ•˜์—ฌ ํšจ์œจ์ ์ด๊ณ  ์•ˆ์ •์ ์ธ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ๋‹ค.

5. .NET ํ”„๋ ˆ์ž„์›Œํฌ์˜ ํ™œ์šฉ ๋ถ„์•ผ

.NET ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ๋‹ค์–‘ํ•œ ๋ถ„์•ผ์—์„œ ํ™œ์šฉ๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋‹ค์Œ์€ ์ฃผ์š” ํ™œ์šฉ ๋ถ„์•ผ๋“ค์ด๋‹ค:

1. ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ

ASP.NET์€ .NET ํ”„๋ ˆ์ž„์›Œํฌ์˜ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ์„ ์œ„ํ•œ ๊ธฐ์ˆ ๋กœ, HTML, CSS, JavaScript์™€ ํ•จ๊ป˜ ์‚ฌ์šฉ๋œ๋‹ค. ASP.NET์€ ํ’๋ถ€ํ•œ ๊ธฐ๋Šฅ๊ณผ ๋ณด์•ˆ์„ฑ, ํ™•์žฅ์„ฑ์„ ์ œ๊ณตํ•˜๋ฉฐ, ๋ฐ˜์‘ํ˜• ์›น ๋””์ž์ธ, ์›น ํผ, MVC ํŒจํ„ด ๋“ฑ์„ ์ง€์›ํ•œ๋‹ค. ๋Œ€๊ทœ๋ชจ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ์—์„œ๋„ ์‚ฌ์šฉ๋˜๋ฉฐ, ๋Œ€ํ‘œ์ ์ธ ์‚ฌ๋ก€๋กœ๋Š” Microsoft์˜ Outlook.com, Stack Overflow ๋“ฑ์ด ์žˆ๋‹ค.

2. ๋ฐ์Šคํฌํ†ฑ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ

Windows Forms ๋ฐ WPF(Windows Presentation Foundation)์€ .NET ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ํ†ตํ•ด Windows์šฉ ๋ฐ์Šคํฌํ†ฑ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋œ๋‹ค. Windows Forms๋Š” ํ’๋ถ€ํ•œ ์ปจํŠธ๋กค๊ณผ ์ด๋ฒคํŠธ ๊ธฐ๋ฐ˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์ œ๊ณตํ•˜๋ฉฐ, WPF๋Š” XAML ๊ธฐ๋ฐ˜์˜ UI ๊ฐœ๋ฐœ์„ ์ง€์›ํ•˜์—ฌ ํ’๋ถ€ํ•œ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ์ œ๊ณตํ•œ๋‹ค. ๋Œ€ํ‘œ์ ์ธ ์‚ฌ๋ก€๋กœ๋Š” Microsoft Office, Visual Studio ๋“ฑ์ด ์žˆ๋‹ค.

3. ๋ชจ๋ฐ”์ผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ

Xamarin์€ .NET ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Android, iOS, Windows ๋“ฑ ๋‹ค์–‘ํ•œ ํ”Œ๋žซํผ์—์„œ ๋™์ž‘ํ•˜๋Š” ๋ชจ๋ฐ”์ผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋œ๋‹ค. Xamarin์€ C# ์–ธ์–ด์™€ ๋„ค์ดํ‹ฐ๋ธŒ API ๊ฐ„์˜ ๋‹ค๋ฆฌ ์—ญํ• ์„ ํ•˜๋ฉฐ, ๋‹จ์ผ ์ฝ”๋“œ๋ฒ ์ด์Šค๋ฅผ ํ†ตํ•ด ๋‹ค์–‘ํ•œ ํ”Œ๋žซํผ์„ ์ง€์›ํ•œ๋‹ค. ๋Œ€ํ‘œ์ ์ธ ์‚ฌ๋ก€๋กœ๋Š” Slack, Pinterest ๋“ฑ์ด ์žˆ๋‹ค.

4. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ

ADO.NET์€ .NET ํ”„๋ ˆ์ž„์›Œํฌ์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์•ก์„ธ์Šค ๊ธฐ์ˆ ๋กœ, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€์˜ ์—ฐ๊ฒฐ, ์ฟผ๋ฆฌ ์‹คํ–‰, ๋ฐ์ดํ„ฐ ๊ฒ€์ƒ‰ ๋ฐ ๋ณ€๊ฒฝ ๋“ฑ์˜ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•œ๋‹ค. ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‹œ์Šคํ…œ๊ณผ์˜ ์ƒํ˜ธ ์ž‘์šฉ์„ ์ง€์›ํ•˜๋ฉฐ, LINQ(Language Integrated Query)๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ฟผ๋ฆฌ๋ฅผ ํŽธ๋ฆฌํ•˜๊ฒŒ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.

5. ํด๋ผ์šฐ๋“œ ๋ฐ ์„œ๋ฒ„ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ

.NET Core๋Š” ๊ฒฝ๋Ÿ‰ํ™”๋œ .NET ๊ตฌํ˜„์ฒด๋กœ, Windows, macOS, Linux ๋“ฑ ์—ฌ๋Ÿฌ ํ”Œ๋žซํผ์—์„œ ๋™์ž‘ํ•˜๋Š” ํด๋ผ์šฐ๋“œ ๋ฐ ์„œ๋ฒ„ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋œ๋‹ค. ASP.NET Core๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœํ•˜๊ฑฐ๋‚˜, ์›น ์„œ๋น„์Šค๋ฅผ ๊ตฌ์ถ•ํ•˜์—ฌ ํด๋ผ์ด์–ธํŠธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ํ†ต์‹ ํ•  ์ˆ˜ ์žˆ๋‹ค.

.NET ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ์œ„์—์„œ ์–ธ๊ธ‰ํ•œ ๋‹ค์–‘ํ•œ ๋ถ„์•ผ์—์„œ ํ™œ์šฉ๋  ์ˆ˜ ์žˆ๋‹ค. ๋˜ํ•œ, ๊ฐ ๋ถ„์•ผ๋งˆ๋‹ค .NET ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ํ™œ์šฉํ•œ ๊ฐœ๋ฐœ ๋„๊ตฌ์™€ ๋„์›€์„ ๋ฐ›์„ ์ˆ˜ ์žˆ์–ด ๊ฐœ๋ฐœ ์ƒ์‚ฐ์„ฑ์„ ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค. ๊ฐœ๋ฐœ์ž๋Š” ์ž์‹ ์˜ ์š”๊ตฌ ์‚ฌํ•ญ๊ณผ ์šฉ๋„์— ๋งž๊ฒŒ .NET ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์„ ํƒํ•˜์—ฌ ํšจ๊ณผ์ ์œผ๋กœ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ๋‹ค.

๋Œ“๊ธ€