varํŒจํ„ด 2

[C#] var ํ‚ค์›Œ๋“œ์˜ ์•”๋ฌต์  ํƒ€์ž… ์ถ”๋ก 

C#์—์„œ๋„ var ํŒจํ„ด์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ์ฒด(object)ํ˜•ํƒœ๋กœ ๋ฐ›์€ ๊ฐ’์„ var ํ‚ค์›Œ๋“œ๋ฅผ ํ†ตํ•ด ๊ฐ„๋‹จํžˆ ์ถœ๋ ฅํ•˜๊ฑฐ๋‚˜ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. ์ด ํŒจํ„ด์€ ์ผ๋ฐ˜์ ์œผ๋กœ ๋งŽ์ด ์‚ฌ์šฉํ•˜์ง€ ์•Š์ง€๋งŒ ์ด๋Ÿฌํ•œ ๊ฒƒ๋“ค์ด ์žˆ๊ตฌ๋‚˜.. ์ดํ•ด๋งŒ ํ•˜๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๐Ÿ“‚ ๋ชฉ์ฐจ 1. ์•”๋ฌต์  ํƒ€์ž…์ด๋ž€ ๋ฌด์—‡์ผ๊นŒ?์•”๋ฌต์  ํƒ€์ž…์ด๋ž€ ํƒ€์ž…์„ ๋ช…์‹œ์ ์œผ๋กœ ์„ ์–ธํ•˜์ง€์•Š๊ณ , ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ๊ฐ’์„ ๋ณด๊ณ  ์ถ”๋ก ํ•˜๋Š” ๋ฐฉ์‹์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ C#์—์„œ๋Š” var ํ‚ค์›Œ๋“œ๋กœ ๊ตฌํ˜„ํ• ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ„๋‹จํ•œ ์˜ˆ์ œ๋กœ:object obj = "Hello, World!";if(obj is var result){ Console.WriteLine(result); // "Hello, World!" ์ถœ๋ ฅ}์—ฌ๊ธฐ์„œ obj is var result๋Š” obj์˜ ๊ฐ’์„ result ๋ณ€์ˆ˜์— ๊ทธ๋Œ€๋กœ ํ• ..

C# 2025.02.16

[C#] ์•”๋ฌต์  ํƒ€์ž… ์ถ”๋ก ๊ณผ ๋™์  ํƒ€์ž… - var์™€ dynamic ํ™œ์šฉ

C#์—์„œ๋Š” varํŒจํ„ด์„ ์‚ฌ์šฉํ•˜์—ฌ objectํ˜•ํƒœ๋กœ ๋ฐ›์€ ๊ฐ’์„ varํ˜•ํƒœ๋กœ ๋‹ค์‹œ ์ถœ๋ ฅํ• ์ˆ˜ ์žˆ๋‹ค.์ด ํŒจํ„ด์€ ํŒจํ„ด ๋งค์นญ ๊ธฐ๋Šฅ์„ ์ดํ•ดํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋˜๋ฉฐ, ๋ณ€์ˆ˜๋ฅผ ํŠน์ • ์œ ํ˜•์œผ๋กœ ๋ฐ”์ธ๋”ฉํ•˜๊ณ  ์‚ฌ์šฉํ• ๋•Œ ์œ ์šฉํ•˜๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ์ž˜ ์‚ฌ์šฉ๋˜์ง€๋Š” ์•Š์ง€๋งŒ, ์ฝ”๋“œ๋ฅผ ๋” ์ฝ๊ธฐ ์‰ฝ๊ณ  ๊ฐ„๊ฒฐํ•˜๊ฒŒ ๋งŒ๋“œ๋Š”๋ฐ ๋„์›€์ด๋œ๋‹ค. ์ด์ œ var ํŒจํ„ด์— ๋Œ€ํ•ด ์ข€ ๋” ์ž์„ธํžˆ ์•Œ์•„๋ณด์ž.    ์•”๋ฌต์  ํƒ€์ž… ์ถ”๋ก ์„ ํ™œ์šฉํ•œ C#์˜ var ํŒจํ„ด ์ดํ•ดํ•˜๊ธฐ์•„๋ž˜ ์ฝ”๋“œ๋Š” ๊ฐ€์žฅ ๋จผ์ €, varํŒจํ„ด์„ ๋ณ€์ˆ˜๋ฅผ ์ž„์˜์˜ ํƒ€์ž…์ธ var ๋ณ€์ˆ˜๋กœ ๋ฐ›์€ ํ›„ ์กฐ๊ฑด์„ ์ ๊ฒ€ํ•œ๋‹ค. ์ด๋•Œ, ์กฐ๊ฑด์„ ์ ๊ฒ€ํ•˜์ง€ ์•Š๋”๋ผ๋„ ์ผ๋‹จ ๋ณ€์ˆ˜๋กœ ๊ฐ’์„ ๋ฐ›์•„์•ผํ•œ๋‹ค.object obj = "korea";if(obj is var str){ Console.WriteLine(str);} ์˜ˆ๋ฅผ ๋“ค์–ด, `object obj ..

C# 2024.05.15