C#

C# - ์ž๋ฃŒํ˜•๊ณผ ๋ณ€์ˆ˜์˜ ๊ธฐ์ดˆ — ์„ ์–ธ, ๋ฆฌํ„ฐ๋Ÿด, ์ฝ”๋“œ ์Šคํƒ€์ผ

Dev_Jen 2025. 7. 7. 11:48
๋ฐ˜์‘ํ˜•

๐Ÿ“˜ ์ž๋ฃŒํ˜•๊ณผ ๋ณ€์ˆ˜์˜ ๊ธฐ์ดˆ — ์„ ์–ธ, ๋ฆฌํ„ฐ๋Ÿด, ์ฝ”๋“œ ์Šคํƒ€์ผ


๐Ÿงฉ C# ๊ธฐ๋ณธ ์ž๋ฃŒํ˜• ๊ฐœ๋…

C#์€ ์ž๋ฃŒํ˜•์— ๋Œ€ํ•ด ์—„๊ฒฉํ•œ ํ˜•์‹ ์‹œ์Šคํ…œ์„ ๊ฐ€์ง„ ์–ธ์–ด๋กœ, ๋ชจ๋“  ๋ณ€์ˆ˜๋Š” ์„ ์–ธ ์‹œ ๋ฐ˜๋“œ์‹œ ์ž๋ฃŒํ˜•์„ ๋ช…์‹œํ•ด์•ผ ํ•œ๋‹ค.
์ž๋ฃŒํ˜•์€ ๋ฉ”๋ชจ๋ฆฌ์˜ ํฌ๊ธฐ, ํ‘œํ˜„ ๋ฒ”์œ„, ๋ถ€ํ˜ธ ์—ฌ๋ถ€์— ๋”ฐ๋ผ ๊ตฌ๋ถ„๋˜๋ฉฐ, ๋ณ€์ˆ˜์˜ ์šฉ๋„์™€ ์ €์žฅํ•  ๊ฐ’์˜ ํ˜•ํƒœ์— ๋”ฐ๋ผ ์ ์ ˆํ•œ ์ž๋ฃŒํ˜•์„ ์„ ํƒํ•ด์•ผ ํ•œ๋‹ค.

์ฃผ์š” ๊ธฐ๋ณธ ์ž๋ฃŒํ˜•

์ž๋ฃŒํ˜• ํฌ๊ธฐ(byte) ์„ค๋ช…
sbyte 1 -128 ~ 127
byte 1 0 ~ 255
short 2 -32,768 ~ 32,767
int 4 -2,147,483,648 ~ 2,147,483,647
long 8 ๋งค์šฐ ํฐ ์ •์ˆ˜
float 4 ์†Œ์ˆ˜์  ํ‘œํ˜„, 7์ž๋ฆฌ ์ •ํ™•๋„
double 8 ์†Œ์ˆ˜์  ํ‘œํ˜„, 15~16์ž๋ฆฌ ์ •ํ™•๋„
decimal 16 ๊ณ ์ • ์†Œ์ˆ˜์ , ๊ธˆ์œต ๊ณ„์‚ฐ์šฉ
char 2 ์œ ๋‹ˆ์ฝ”๋“œ ๋ฌธ์ž 1๊ฐœ ์ €์žฅ
string ๊ฐ€๋ณ€ ์œ ๋‹ˆ์ฝ”๋“œ ๋ฌธ์ž์—ด
bool 1 true / false ๋…ผ๋ฆฌ๊ฐ’
 

์ž๋ฃŒํ˜• ์„ ํƒ ๊ธฐ์ค€

  • ๋ฉ”๋ชจ๋ฆฌ ์ ˆ์•ฝ์ด ํ•„์š”ํ•˜๋ฉด ์ž‘์€ ์ž๋ฃŒํ˜•์„ ์‚ฌ์šฉํ•œ๋‹ค.
  • ์ •๋ฐ€ํ•œ ์†Œ์ˆ˜ ํ‘œํ˜„์ด ํ•„์š”ํ•˜๋ฉด double, ๊ธˆ์œต ๊ณ„์‚ฐ์—๋Š” decimal์„ ์‚ฌ์šฉํ•œ๋‹ค.
  • ๋…ผ๋ฆฌ ํŒ๋‹จ์—๋Š” ๋ฐ˜๋“œ์‹œ bool์„ ์‚ฌ์šฉํ•œ๋‹ค.

๐Ÿงฎ ๋ฆฌํ„ฐ๋Ÿด์˜ ๊ฐœ๋…๊ณผ ์ข…๋ฅ˜

๋ฆฌํ„ฐ๋Ÿด์€ ์ฝ”๋“œ ์•ˆ์— ์ง์ ‘ ์ž‘์„ฑ๋œ ๊ณ ์ •๊ฐ’์„ ์˜๋ฏธํ•œ๋‹ค. ๋ณ€์ˆ˜์— ํ• ๋‹นํ•˜๊ฑฐ๋‚˜ ์—ฐ์‚ฐ์— ์‚ฌ์šฉ๋œ๋‹ค.

๋Œ€ํ‘œ์ ์ธ ๋ฆฌํ„ฐ๋Ÿด ์ข…๋ฅ˜

  • ์ •์ˆ˜ํ˜• ๋ฆฌํ„ฐ๋Ÿด: 10, 0x10 (16์ง„์ˆ˜), 0b1010 (2์ง„์ˆ˜)
  • ๋ถ€๋™์†Œ์ˆ˜์  ๋ฆฌํ„ฐ๋Ÿด: 3.14, 3.14f, 3.14m
  • ๋ฌธ์žํ˜• ๋ฆฌํ„ฐ๋Ÿด: 'A', '\n', '\u0022'
  • ๋ฌธ์ž์—ด ๋ฆฌํ„ฐ๋Ÿด: "Hello", "์ด๋ฆ„: \"ํ™๊ธธ๋™\""
  • ๋…ผ๋ฆฌํ˜• ๋ฆฌํ„ฐ๋Ÿด: true, false

์˜ˆ์‹œ:

int age = 25;
float pi = 3.14f;
char grade = 'A';
string name = "Kero";
bool isActive = true;

๐Ÿ’ก ๋ณ€์ˆ˜ ์„ ์–ธ๊ณผ ์ดˆ๊ธฐํ™”

๋ณ€์ˆ˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•  ๊ณต๊ฐ„์œผ๋กœ, ์‚ฌ์šฉํ•  ์ž๋ฃŒํ˜•์— ๋”ฐ๋ผ ์„ ์–ธํ•˜๋ฉฐ ๊ฐ’์„ ํ• ๋‹นํ•  ์ˆ˜ ์žˆ๋‹ค.

์„ ์–ธ ๋ฐฉ๋ฒ•

์ž๋ฃŒํ˜• ๋ณ€์ˆ˜์ด๋ฆ„;
int score;

์ดˆ๊ธฐํ™” ๋ฐฉ๋ฒ•

score = 100;
int health = 50;

์—ฌ๋Ÿฌ ๊ฐœ ๋™์‹œ ์„ ์–ธ

int x = 1, y = 2, z = 3;

์ž˜๋ชป๋œ ์˜ˆ์‹œ

int a, b, c = 10; // b๋Š” ์ดˆ๊ธฐํ™”๋˜์ง€ ์•Š์Œ

๐Ÿงพ ์‹๋ณ„์ž์™€ ๋ณ€์ˆ˜๋ช… ๊ทœ์น™

์‹๋ณ„์ž๋Š” ๋ณ€์ˆ˜, ๋ฉ”์„œ๋“œ, ํด๋ž˜์Šค ๋“ฑ ๋ชจ๋“  ์ด๋ฆ„์— ์‚ฌ์šฉ๋˜๋ฉฐ ์•„๋ž˜์™€ ๊ฐ™์€ ๊ทœ์น™์„ ๋”ฐ๋ผ์•ผ ํ•œ๋‹ค.

์ž‘์„ฑ ๊ทœ์น™

  • ์˜๋ฌธ์ž ๋˜๋Š” _๋กœ ์‹œ์ž‘ํ•ด์•ผ ํ•œ๋‹ค.
  • ์ˆซ์ž๋ฅผ ์ฒ˜์Œ์— ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค.
  • ํŠน์ˆ˜๋ฌธ์ž(์˜ˆ: -, $)๋Š” ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค.
  • ๋Œ€์†Œ๋ฌธ์ž๋ฅผ ๊ตฌ๋ถ„ํ•œ๋‹ค.
  • C#์˜ ํ‚ค์›Œ๋“œ(int, class, public ๋“ฑ)๋Š” ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค.

์ข‹์€ ๋ณ€์ˆ˜๋ช… ์˜ˆ์‹œ

int playerScore;
float itemPrice;
string userName;

๋‚˜์œ ๋ณ€์ˆ˜๋ช… ์˜ˆ์‹œ

int x1;     // ์˜๋ฏธ ์—†์Œ
string a;   // ๋ชจํ˜ธํ•จ
int 1stNum; // ์ˆซ์ž๋กœ ์‹œ์ž‘ → ์˜ค๋ฅ˜

๐Ÿ“ C# ์ฝ”๋“œ ์ปจ๋ฒค์…˜ (์ด๋ฆ„์ง“๊ธฐ ์Šคํƒ€์ผ)

C#์€ ํ‘œ์ค€์ ์ธ ์ฝ”๋“œ ์Šคํƒ€์ผ ๊ฐ€์ด๋“œ๋ผ์ธ์„ ๋”ฐ๋ฅด๋ฉฐ, ๋Œ€ํ‘œ์ ์œผ๋กœ PascalCase์™€ camelCase ํ‘œ๊ธฐ๋ฒ•์„ ์‚ฌ์šฉํ•œ๋‹ค.

์ปจ๋ฒค์…˜ ์ข…๋ฅ˜

  • PascalCase: ํด๋ž˜์Šค, ๋ฉ”์„œ๋“œ, ํ”„๋กœํผํ‹ฐ ๋“ฑ (PlayerScore, GetItemName)
  • camelCase: ๋ณ€์ˆ˜, ๋งค๊ฐœ๋ณ€์ˆ˜ ๋“ฑ (playerScore, itemCount)
  • ๋Œ€๋ฌธ์ž ์•ฝ์–ด: ID, URL ๋“ฑ์€ ๊ทธ๋Œ€๋กœ ๋Œ€๋ฌธ์ž๋กœ ์œ ์ง€ํ•œ๋‹ค.

๊ธฐํƒ€ ๊ทœ์น™

  • ๋“ค์—ฌ์“ฐ๊ธฐ๋Š” ๊ณต๋ฐฑ 4์นธ ๋˜๋Š” ํƒญ 1์นธ์„ ์‚ฌ์šฉํ•œ๋‹ค.
  • ์ค‘๊ด„ํ˜ธ๋Š” ํ•ญ์ƒ ์ƒˆ๋กœ์šด ์ค„์—์„œ ์‹œ์ž‘ํ•œ๋‹ค.
  • ๊ด€๋ จ ์—†๋Š” ์ฝ”๋“œ ๋ธ”๋ก์€ ๋นˆ ์ค„๋กœ ๊ตฌ๋ถ„ํ•œ๋‹ค.
  • ๋ฉ”์„œ๋“œ ์‚ฌ์ด์—๋Š” 1~2์ค„ ๊ฐ„๊ฒฉ์„ ๋‘์–ด ์‹œ๊ฐ์ ์œผ๋กœ ๋ถ„๋ฆฌํ•œ๋‹ค.

๐Ÿ“ฃ ํ•™์Šต ํƒœ๋„์™€ ์กฐ์–ธ

๋ณ€์ˆ˜์™€ ์ž๋ฃŒํ˜•์€ C#์˜ ๊ธฐ์ดˆ์ด์ž ๋ชจ๋“  ์ฝ”๋“œ์˜ ์ถœ๋ฐœ์ ์ด๋‹ค.
์ž๋ฃŒํ˜•์˜ ํฌ๊ธฐ, ํ‘œํ˜„ ๋ฒ”์œ„, ์ •์ˆ˜์™€ ์‹ค์ˆ˜์˜ ์ฐจ์ด๋ฅผ ๋ช…ํ™•ํžˆ ์ดํ•ดํ•˜๊ณ , ์˜๋ฏธ ์žˆ๋Š” ๋ณ€์ˆ˜๋ช…์„ ์ง“๋Š” ์—ฐ์Šต์„ ๋ฐ˜๋ณตํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค.
๋˜ํ•œ C#์˜ ์ฝ”๋“œ ์Šคํƒ€์ผ์„ ์ผ์ฐ๋ถ€ํ„ฐ ์Šต๊ด€ํ™”ํ•˜๋ฉด ํ˜‘์—…๊ณผ ์œ ์ง€๋ณด์ˆ˜์— ํฐ ๋„์›€์ด ๋œ๋‹ค.

๋ฐ˜์‘ํ˜•