๋ชฉ์ฐจ
- C#
- C#์ ์ฃผ์ ํน์ง
- .NET FRAMEWORK
- NET ํ๋ ์์ํฌ์ ์ฃผ์ ํน์ง
- 1. CLR (Common Language Runtime, ๊ณตํต ์ธ์ด ๋ฐํ์)
- 2. BCL (Base Class Library, ๊ธฐ๋ณธ ํด๋์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ)
- 3. ๋ค์ํ ์์ฉ ํ๋ก๊ทธ๋จ ๊ฐ๋ฐ ์ง์
- 4. ๊ฐ๋ ฅํ ๋ณด์ ๊ธฐ๋ฅ
- 5. ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ(OOP) ์ง์
- ํ๋ก์ ํธ ์คํ์ ์ํ VISUALSTUDIO ์ค์น
- C# ํ๋ก๊ทธ๋๋ฐ
๋ฐ์ํ
SMALL
C#
๐ก C#(C์ต)์ ๋ง์ดํฌ๋ก์ํํธ(Microsoft)์์ ๊ฐ๋ฐํ ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ก, .NET ํ๋ ์์ํฌ์ ํ ๋ถ๋ถ์ผ๋ก ์ด๋ฃจ์ด์ ธ์์ต๋๋ค.
C#์ ์ฃผ์ ํน์ง
1. ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ(OOP, Object-Oriented Programming)
- ํด๋์ค, ์์, ๋คํ์ฑ, ์บก์ํ, ์ถ์ํ ๋ฑ ๊ฐ์ฒด ์งํฅ ๊ฐ๋ ์ ๊ธฐ๋ฐ์ผ๋ก ๊ฐ๋ฐ ๊ฐ๋ฅ
- ๋๊ท๋ชจ ํ๋ก์ ํธ์์๋ ์ ์ง๋ณด์์ ํ์ฅ์ฑ์ด ๋ฐ์ด๋จ
2. .NET ํ๋ ์์ํฌ ๋ฐ .NET Core ์ง์
- Windows, macOS, Linux ๋ฑ ๋ค์ํ ํ๊ฒฝ์์ ์คํ ๊ฐ๋ฅ
- ์ต์ ๋ฒ์ ์ธ .NET Core๋ฅผ ์ด์ฉํ๋ฉด ์คํ์์ค ๋ฐ ํฌ๋ก์คํ๋ซํผ ๊ฐ๋ฐ์ด ๊ฐ๋ฅ
3. ๊ฐํ ํ์(Strongly Typed) ์ธ์ด
- ๋ณ์ ํ์ ์ ๋ช ํํ๊ฒ ์ง์ ํด์ผ ํ๋ฉฐ, ์ปดํ์ผ ์ ํ์ ๊ฒ์ฌ๋ฅผ ์ํ
- ๋ฐํ์ ์ค๋ฅ๋ฅผ ์ค์ด๊ณ ์์ ์ ์ธ ํ๋ก๊ทธ๋จ์ ์์ฑํ ์ ์์
4. ์๋ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ (Garbage Collection)
- GC(Garbage Collector)๊ฐ ์๋์ผ๋ก ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๊ด๋ฆฌํด ์ฃผ๋ฏ๋ก ๊ฐ๋ฐ์๊ฐ ๋ฉ๋ชจ๋ฆฌ ํด์ ์์ ์ ์ง์ ํ ํ์ ์์
- ๋ฉ๋ชจ๋ฆฌ ๋์๋ฅผ ๋ฐฉ์งํ๊ณ ํจ์จ์ ์ธ ์์ ๊ด๋ฆฌ๋ฅผ ์ ๊ณต
5. ๋ค์ํ ํ๋ก๊ทธ๋๋ฐ ํจ๋ฌ๋ค์ ์ง์
- ์ ์ฐจ ์งํฅ(Procedural) + ๊ฐ์ฒด ์งํฅ(OOP) + ํจ์ํ ํ๋ก๊ทธ๋๋ฐ(FP) ํผํฉ ๊ฐ๋ฅ
- LINQ(Language Integrated Query)๋ฅผ ํตํด SQL ์คํ์ผ์ ์ฟผ๋ฆฌ ๋ฌธ๋ฒ ์ง์
.NET FRAMEWORK
๐ก .NET ํ๋ ์์ํฌ๋ ๋ง์ดํฌ๋ก์ํํธ(Microsoft)์์ ๊ฐ๋ฐํ ์ํํธ์จ์ด ๊ฐ๋ฐ ํ๋ซํผ ์ ๋๋ค.
์ฃผ๋ก C#, VB.NET, F# ๊ฐ์ ์ธ์ด๋ฅผ ์ฌ์ฉํ์ฌ Windows ์ ํ๋ฆฌ์ผ์ด์ , ์น ์ ํ๋ฆฌ์ผ์ด์ , ๊ฒ์, ํด๋ผ์ฐ๋ ์๋น์ค ๋ฑ์ ๊ฐ๋ฐํ ์ ์๋๋ก ์ง์ํฉ๋๋ค.
NET ํ๋ ์์ํฌ์ ์ฃผ์ ํน์ง
1. CLR (Common Language Runtime, ๊ณตํต ์ธ์ด ๋ฐํ์)
- .NET ํ๋ก๊ทธ๋จ์ด ์คํ๋๋ ๊ณตํต ์คํ ํ๊ฒฝ์ ์ ๊ณตํฉ๋๋ค.
- ์๋ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ(Garbage Collection, GC), ์์ธ ์ฒ๋ฆฌ, ๋ณด์ ๊ธฐ๋ฅ ๋ฑ์ ์ํํ์ฌ ์์ ์ ์ธ ์คํ์ ๋ณด์ฅํฉ๋๋ค.
2. BCL (Base Class Library, ๊ธฐ๋ณธ ํด๋์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ)
- ํ์ผ ์ ์ถ๋ ฅ, ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๊ฒฐ, ๋คํธ์ํฌ ํต์ , ์ปฌ๋ ์ (List, Dictionary ๋ฑ) ๋ฑ์ ๊ธฐ๋ณธ์ ์ธ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋๋ค.
- ๊ฐ๋ฐ์๋ ๊ธฐ๋ณธ์ ์ธ ๊ธฐ๋ฅ์ ์ง์ ๊ตฌํํ ํ์ ์์ด ํ์ฉํ ์ ์์ต๋๋ค.
3. ๋ค์ํ ์์ฉ ํ๋ก๊ทธ๋จ ๊ฐ๋ฐ ์ง์
- ๋ฐ์คํฌํฑ ์ ํ๋ฆฌ์ผ์ด์ (WPF, Windows Forms)
- ์น ์ ํ๋ฆฌ์ผ์ด์ (ASP.NET, ASP.NET MVC)
- ๋ชจ๋ฐ์ผ ์ ํ๋ฆฌ์ผ์ด์ (Xamarin, .NET MAUI)
- ๊ฒ์ ๊ฐ๋ฐ (Unity ์์ง ํ์ฉ)
- ํด๋ผ์ฐ๋ ์๋น์ค (Microsoft Azure ์ฐ๊ณ ๊ฐ๋ฅ)
4. ๊ฐ๋ ฅํ ๋ณด์ ๊ธฐ๋ฅ
- ์ฝ๋ ์คํ ์ ๊ถํ ๊ด๋ฆฌ์ ๋ณด์ ๊ฒ์ฆ์ ์ํํ์ฌ ๋ณด์์ฑ์ ๋์ ๋๋ค.
- ์ ์ฑ ์ฝ๋ ์คํ์ ๋ฐฉ์งํ๊ณ , ์ ๋ขฐํ ์ ์๋ ํ๊ฒฝ์์๋ง ์ฝ๋๊ฐ ์คํ๋ ์ ์๋๋ก ํฉ๋๋ค.
5. ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ(OOP) ์ง์
- .NET ํ๋ ์์ํฌ์์ ์ง์ํ๋ C# ๊ฐ์ ์ธ์ด๋ ํด๋์ค, ์ธํฐํ์ด์ค, ์์, ๋คํ์ฑ ๋ฑ ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ(OOP)์ ์ง์ํฉ๋๋ค.
- ์ ์ง๋ณด์์ ํ์ฅ์ฑ์ด ๋ฐ์ด๋ ํ๋ก๊ทธ๋จ์ ๊ฐ๋ฐํ ์ ์์ต๋๋ค.
ํ๋ก์ ํธ ์คํ์ ์ํ VISUALSTUDIO ์ค์น
๋น์ฃผ์ผ์คํ๋์คhttps://visualstudio.microsoft.com/ko/vs/community/
์ปค๋ฎค๋ํฐ๋ฒ์ ๋ค์ด.(ํ์ต์ฉ๋๋ก ๋ฌด๋ฃ.)

๋ท๋ทํ๋ ์์ํฌ ์ฌ์ฉ์ ์ํ ์ถ๊ฐ ์ค์น

ํ๋ก์ ํธ ์์ฑ



C# ํ๋ก๊ทธ๋๋ฐ
using System; // C# ๊ธฐ๋ณธ ๋ค์์คํ์ด์ค(System) ํฌํจ
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApp1 // ๋ค์์คํ์ด์ค ์ ์ธ (์ฝ๋์ ๋
ผ๋ฆฌ์ ๊ทธ๋ฃน์ ๋ง๋ฆ)
{
// Car ํด๋์ค ์ ์ธ
class Car
{
// ํ๋ (๋ณ์) ์ ์ธ
public string name; // ์ฐจ ์ด๋ฆ
public string color; // ์ฐจ ์์
public int price; // ์ฐจ ๊ฐ๊ฒฉ
// ์ฐจ ์ ๋ณด๋ฅผ ์ถ๋ ฅํ๋ ๋ฉ์๋
public void PrintCarInfo()
{
Console.WriteLine("์ฐจ ์ด๋ฆ: " + name);
Console.WriteLine("์ฐจ ์์: " + color);
Console.WriteLine("์ฐจ ๊ฐ๊ฒฉ: " + price);
}
}
// ํ๋ก๊ทธ๋จ์ ์ง์
์ (Main ๋ฉ์๋๊ฐ ์๋ ํด๋์ค)
class Program
{
static void Main(string[] args)
{
// System์ ์ง์ ์ฌ์ฉํ์ฌ Console ํธ์ถ
System.Console.WriteLine("System์ ์ด์ฉํ ํธ์ถ"); // System ๋ค์์คํ์ด์ค๋ฅผ ๋ช
์์ ์ผ๋ก ์ฌ์ฉ
Console.WriteLine("Hello World!"); // using System;์ด ํฌํจ๋์ด ์์ด Console๋ง ์ฌ์ฉ ๊ฐ๋ฅ
// Car ๊ฐ์ฒด ์์ฑ ๋ฐ ํ๋ ๊ฐ ์ค์
Car myCar = new Car();
myCar.name = "๋๋ณด๋ฅด๊ธฐ๋";
myCar.color = "๋นจ๊ฐ";
myCar.price = 500000000;
// ์ฐจ ์ ๋ณด ์ถ๋ ฅ ๋ฉ์๋ ํธ์ถ
myCar.PrintCarInfo();
}
}
}

๋ฐ์ํ
LIST
'ํ๋ก์ ํธ > c#' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ค์์คํ์ด์ค๋ (0) | 2025.03.03 |
---|