C#

    3. object, ๋ฐ•์‹ฑ๊ณผ ์–ธ๋ฐ•์‹ฑ, var

    C#์—์„œ ์ œ๊ณตํ•˜๋Š” ๊ธฐ๋ณธ ๋ฐ์ดํ„ฐ ํ˜•์‹์—๋Š” ์ˆซ์ž ํ˜•์‹, ๋…ผ๋ฆฌ ํ˜•์‹, ๋ฌธ์ž์—ด ํ˜•์‹, ์˜ค๋ธŒ์ ํŠธ ํ˜•์‹์œผ๋กœ ๋ถ„๋ฆฌ๋œ๋‹ค. byte(0~255)๋Š” ํฌ๊ธฐ๊ฐ€ 1๋ฐ”์ดํŠธ๋ผ์„œ ์ง€์–ด์ง„ ์ด๋ฆ„, short๋Š” short integer์˜ ์ค„์ž„๋ง, int๋Š” integer, long์€ long integer์˜ ์ค„์ž„๋ง, char๋Š” character(๋ฌธ์ž)์˜ ์ค„์ž„๋ง ^^ ์ด ์ค‘ ๋ฌธ์ž์—ด ํ˜•์‹๊ณผ ์˜ค๋ธŒ์ ํŠธ ํ˜•์‹์€ ์ฐธ์กฐ ํ˜•์‹์— ํ•ด๋‹นํ•˜๋ฉฐ, ๋‚˜๋จธ์ง€๋Š” ๋ชจ๋‘ ๊ฐ’ ํ˜•์‹์ด๋‹ค. ๋ฉ”๋ชจ๋ฆฌ ํšจ์œจ์„ ๊ณ ๋ คํ•˜์ง€ ์•Š๋Š” ์†Œํ”„ํŠธ์›จ์–ด๋Š” ๊ธˆ์„ธ ์ปดํ“จํ„ฐ์˜ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ „๋ถ€ ์ž ์‹ํ•ด๋ฒ„๋ฆด ์ˆ˜๋„ ์žˆ๋‹ค. ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ•œ ๋ฐ”์ดํŠธ๋ผ๋„ ์ ๊ฒŒ ์“ฐ๊ณ  CPU๋ฅผ ํ•œ ์‚ฌ์ดํด์ด๋ผ๋„ ๋” ์ ๊ฒŒ ๋Œ๋„๋ก ๋งŒ๋“ค์ž. - ๋ฐ•์‹ฑ : ๊ฐ’ ํ˜•์‹์„ object ํ˜•์‹์— ๋‹ด์•„ ํž™์— ์˜ฌ๋ฆฌ๊ธฐ - ์–ธ๋ฐ•์‹ฑ : ํž™์— ์˜ฌ๋ผ๊ฐ€ ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ object..

    2. C#์˜ ๋ฐ์ดํ„ฐ ํ˜•์‹(๊ฐ’ ํ˜•์‹, ์ฐธ์กฐ ํ˜•์‹), ๋ฉ”๋ชจ๋ฆฌ(์Šคํƒ, ํž™)

    2. C#์˜ ๋ฐ์ดํ„ฐ ํ˜•์‹(๊ฐ’ ํ˜•์‹, ์ฐธ์กฐ ํ˜•์‹), ๋ฉ”๋ชจ๋ฆฌ(์Šคํƒ, ํž™)

    ์ถœ์ฒ˜https://youtu.be/GvUMF_UM8jU ๋ฐ์ดํ„ฐ ํ˜•์‹ (1) ๊ธฐ๋ณธ ๋ฐ์ดํ„ฐ ํ˜•์‹ : ์ •์ˆ˜ ํ˜•์‹(char/uchar, signed byte/byte, short/ushort, int/uint), ๋ถ€๋™ ์†Œ์ˆ˜ํ˜•์‹(float, double) (2) ๋ณตํ•ฉ ๋ฐ์ดํ„ฐ ํ˜•์‹ : ํด๋ž˜์Šค, ๊ตฌ์กฐ์ฒด, ์ธํ„ฐํŽ˜์ด์Šค etc ๋ณ€์ˆ˜ : ๋ฉ”๋ชจ๋ฆฌ ์ชฝ์—์„œ ๋ณด๋ฉด ๋ณ€์ˆ˜๋ž€ "๋ฐ์ดํ„ฐ๋ฅผ ๋‹ด๋Š” ์ผ์ • ํฌ๊ธฐ(๋ฐ์ดํ„ฐ ํ˜•์‹์— ๋”ฐ๋ผ ๊ฒฐ์ •๋จ)์˜ ๊ณต๊ฐ„"์ด๋ผ๋Š” ์˜๋ฏธ๋ฅผ ๊ฐ–๋Š”๋‹ค. ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋Š” ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„(์œ ํ˜•๊ณผ ํฌ๊ธฐ๊ฐ€ ์ •ํ•ด์ ธ ์žˆ์–ด์•ผํ•จ), ์ฝ”๋“œ์—์„œ ์ด๋ฆ„(์‹๋ณ„์ž)์„ ๋ถ™์—ฌ ์‚ฌ์šฉ ๊ธฐ๋ณธ ๋ฐ์ดํ„ฐ ํ˜•์‹์—๋„ ๊ฐ’ ํ˜•์‹๊ณผ ์ฐธ์กฐ ํ˜•์‹์ด ์žˆ๊ณ , ๋ณตํ•ฉ ๋ฐ์ดํ„ฐ ํ˜•์‹์—๋„ ๊ฐ’ ํ˜•์‹๊ณผ ์ฐธ์กฐ ํ˜•์‹์ด ์žˆ๋‹ค. ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•œ๋‹ค(์ปดํŒŒ์ผ๋Ÿฌ์—๊ฒŒ) : "์ด ๋ณ€์ˆ˜์— ํ•„์š”ํ•œ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ..

    1. ์ฝ˜์†” C# ํ”„๋กœ๊ทธ๋žจ์˜ ์ดํ•ด (using, using static, namespace, CLR)

    using System; using static System.Console; namespace Hello { //ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰์ด ์‹œ์ž‘๋˜๋Š” ๊ณณ class MainApp { static void Main(string[] args) { if(args.Length == 0) { Console.WriteLine("์‚ฌ์šฉ๋ฒ• : Hello.exe"); return; } WriteLine("Hello, {0}!",args[0]); } } } using System; //System ๋„ค์ž„์ŠคํŽ˜์ด์Šค ์•ˆ์— ์žˆ๋Š” ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•˜๊ฒ ๋‹ค๊ณ  ์ปดํŒŒ์ผ๋Ÿฌ์—๊ฒŒ ์•Œ๋ฆผ //System.Console.WriteLine์„ Console.WriteLine๋กœ ์ค„์—ฌ์“ธ ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์คŒ using static System.Console; //Console.Wr..

    [C# ์ฝ˜์†”] 5x5 ๋™๊ทธ๋ผ๋ฏธํŒ ์ถœ๋ ฅ

    [C# ์ฝ˜์†”] 5x5 ๋™๊ทธ๋ผ๋ฏธํŒ ์ถœ๋ ฅ

    using System; namespace Algorithm { class Program { static void Main(string[] args) { Console.CursorVisible = false; const int WAIT_TICK = 1000 / 30; const char CIRCLE = '\u25cf'; int lastTick = 0; while(true) { #region ํ”„๋ ˆ์ž„ ๊ด€๋ฆฌ //๋งŒ์•ฝ์— ๊ฒฝ๊ณผํ•œ ์‹œ๊ฐ„์ด 1/30์ดˆ ๋ณด๋‹ค ์ž‘๋‹ค๋ฉด int currentTick = System.Environment.TickCount; if (currentTick - lastTick < WAIT_TICK) continue; lastTick = currentTick; #endregion //์ž…๋ ฅ //๋กœ์ง /..

    C# ๊ฐ€๋ณ€๋ฐฐ์—ด

    C# ๊ฐ€๋ณ€๋ฐฐ์—ด์„ ์•Œ์•„๋ณด์ž! (aloloever.blogspot.com) C# ๊ฐ€๋ณ€๋ฐฐ์—ด์„ ์•Œ์•„๋ณด์ž! C# Jagged Array aloloever.blogspot.com ๊ฐ€๋ณ€ ๊ธธ์ด ๋ฐฐ์—ด – ์–ธ์ œ๋‚˜ ํœด์ผ (ehpub.co.kr)

    C#(5) : ๊ฐ’ํ˜•์‹์˜ ๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์กฐ ๋ฐ ์ฒ˜๋ฆฌ vs ๋ž˜ํผ๋Ÿฐ์Šค์˜ ๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์กฐ ๋ฐ ์ฒ˜๋ฆฌ

    ๊ฐ’ํ˜•๊ณผ ๋ž˜ํผ๋Ÿฐ์Šค ํ˜•์„ ๊ตฌ๋ถ„ํ•  ์ค„ ์•Œ์•„์•ผ ํ•œ๋‹ค. ๊ธฐ๋ณธ ์ž๋ฃŒํ˜•์„ ์„ ์–ธ๋งŒ ํ•œ ๊ฒƒ -> ๊ฐ’ํ˜• ์ž๊ธฐ๋งŒ ๋งŒ๋“  ํด๋ž˜์Šค๋ฅผ new ํด๋ž˜์Šค๋ช…();ํ•ด์„œ ๋งŒ๋“  ๊ฒƒ์„ ๊ทธ ํด๋ž˜์Šค๋ช…์— ๋ฐ›์œผ๋ฉด ๋ž˜ํผ๋Ÿฐ์Šคํ˜•! ๋ชจ๋“  ํ”„๋กœ๊ทธ๋žจ์€ ๊ณต์งœ๊ฐ€ ์—†๋‹ค. = ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ง€๋ถˆํ•œ๋‹ค. ํ•จ์ˆ˜์˜ ์‹คํ–‰์กฐ์ฐจ ๊ณต์งœ๊ฐ€ ์—†๋‹ค. ๋ฉ”๋ชจ๋ฆฌ์˜ ๊ตฌ์กฐ๋ฅผ ์•ˆ๋‹ค๋Š” ๊ฒƒ์€ ์ฝ”๋“œ์˜ ๋™์ž‘์›๋ฆฌ๋ฅผ ์•„๋Š” ๊ฒƒ๊ณผ ๊ฐ™๋‹ค. ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ค์—ˆ๋‹ค๋Š” ๊ฒƒ์€ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ง€๋ถˆํ–ˆ๋‹ค๋Š” ๊ฒƒ. [์ฝ”๋“œ] : ์ƒ์ˆ˜, ํด๋ž˜์Šค ์„ ์–ธ ๊ทธ ์ž์ฒด. ํ•จ์ˆ˜์˜ ๋‚ด์šฉ ๊ทธ์ž์ฒด. ์ˆ˜์ •์ด ๋ถˆ๊ฐ€๋Šฅํ•œ ์ฝ”๋“œ๋“ค์ด ๋“ค์–ด๊ฐ [๋ฐ์ดํ„ฐ] [ํž™] : new ํด๋ž˜์Šค๋ช…() ๋งŒ๋“ค์–ด์ง„ ํด๋ž˜์Šค ๊ฐ์ฒด๋“ค์˜ ๋ณธ์ฒด๊ฐ€ ์—ฌ๊ธฐ ์žˆ๋‹ค. [์Šคํƒ] : //๋ฉ”์ธ ํ•จ์ˆ˜ //C#์˜ ์•ฝ์†. ์ด๊ณณ์„ ์‹œ์ž‘์ด๋ผ๊ณ  ์žก์€ ํ•จ์ˆ˜ //Main์ด๋ผ๋Š” ์ด๋ฆ„์˜ ํ•จ์ˆ˜์—์„œ๋ถ€ํ„ฐ ์‹œ์ž‘ static void Main(strin..

    C#(4) : ์‚ฐ์ˆ ์—ฐ์‚ฐ์ž์™€ ํ•จ์ˆ˜

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; class User { private int Hp = 100; public void Damage(int _Hp) { Hp -= 10; } public int Plus(int _Left, int _Right) { int Result = _Left + _Right; return Result; } } namespace Example { class Program { static void Main(string[] args) { User NewUser = new User(); int Result = 0; int..

    C#(3) : ๋ฉค๋ฒ„๋ณ€์ˆ˜, ๋ฉค๋ฒ„ํ•จ์ˆ˜, ์ง€์—ญ๋ณ€์ˆ˜, ์ ‘๊ทผ์ œํ•œ์ง€์ •์ž(์บก์Аํ™”, ์€๋‹‰ํ™”)

    ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ ์ค‘์š”ํ•œ ๊ฒƒ ๊ฐ€์žฅ ์ฒ˜์Œ์œผ๋กœ ํ•ด์•ผํ•  ์ผ์ด ๋‚ด๊ฐ€ ๋ญ˜ ๋งŒ๋“ค๊ณ  ์‹ถ๋‹ค๋Š” ๊ฒƒ์„ ์ •ํ™•ํžˆ ์•„๋Š” ๊ฒƒ. RPG? ํด๋ž˜์Šค๋ฅผ ์„ ์–ธํ•œ๋‹ค. ํด๋ž˜์Šค ์•ˆ์— ๋ฉค๋ฒ„๋ณ€์ˆ˜ ์„ ์–ธํ•œ๋‹ค. ํด๋ž˜์Šค ์•ˆ์— ๋ฉค๋ฒ„ํ•จ์ˆ˜ ์„ ์–ธํ•œ๋‹ค. ํด๋ž˜์Šค ๋ช…์–ธ : ์ž˜๋ชป ์“ฐ๊ธฐ๋„ ํž˜๋“ค๊ฒŒ ๋งŒ๋“ค์–ด๋†”๋ผ. ๋‹ค๋ฅธ ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ๋ฌด์Šจ ์ฝ”๋“œ๋ฅผ ์–น์–ด๋„ ๋‚ด๊ฐ€ ์ž‘์„ฑํ•œ ํด๋ž˜์Šค๋Š” ์ž˜ ๋Œ์•„๊ฐ€๊ฒŒ๋”! ์–ด๋–ป๊ฒŒ? ๋ฉค๋ฒ„ ๋ณ€์ˆ˜(์†์„ฑ)๋“ค์€ ์™ธ๋ถ€์—์„œ ์ ‘๊ทผํ•˜์ง€ ๋ชปํ•˜๋Š”๊ฒŒ ์ผ๋ฐ˜์ ์œผ๋กœ ์ข‹๋‹ค! RPG์˜ ์˜ˆ, ํ”Œ๋ ˆ์ด์–ด๊ฐ€ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋Š” ์„ธ๋ถ€์ ์ธ ๋‚ด์šฉ๋“ค(์ƒํƒœ) ex) ๊ณจ๋“œ, ๊ฒฝํ—˜์น˜, ๊ณต๊ฒฉ๋ ฅ, ๋ฐฉ์–ด๋ ฅ (์„ธ๋ถ€ ์†์„ฑ์ด๋ฉด์„œ ๋ช…์‚ฌ์ด๋ฉด์„œ ๊ฐ’์ด๋ผ๋ฉด... -> ๋ฉค๋ฒ„ ๋ณ€์ˆ˜๋กœ ํ‘œํ˜„ ๊ฐ€๋Šฅ) ๋ฉค๋ฒ„ ๋ณ€์ˆ˜์— ์ดˆ๊ธฐ๊ฐ’(๋ฆฌํ„ฐ๋Ÿด ๊ฐ’)์„ ๋„ฃ์–ด์ค„ ์ˆ˜ ์žˆ๋‹ค. ์„ ์–ธ๊ณผ ๋™์‹œ์— ๊ฐ’์„ ๋Œ€์ž…ํ•ด์ฃผ๋Š” ๊ฒƒ! //๊ฐœ๋… : ํ”Œ๋ ˆ์ด์–ด๊ฐ€ ์žˆ๋‹ค class Playe..

    C#(2) os๊ฐ€ C#์ฝ”๋“œ๋ฅผ ์ฝ๋Š” ์ˆœ์„œ, ide์™€ ํ•จ๊ป˜ํ•˜๋Š” ๊ธฐ์ดˆ ๋””๋ฒ„๊น… f10

    ์ฝ”๋“œ๊ฐ€ ์‹คํ–‰๋œ๋‹ค๊ณ  ํ•จ์€ ํ•œ์ค„ํ•œ์ค„์”ฉ os(์šด์˜์ฒด์ œ. ex) Window, ๋ฆฌ๋ˆ…์Šค, ์•ˆ๋“œ๋กœ์ด๋“œ)๊ฐ€ ๋‚ด ํ”„๋กœ๊ทธ๋žจ์„ ์ฝ์–ด์ฃผ๋Š” ๊ฒƒ์ด๋‹ค. ์•ฝ์†: static void Main(string[] args) ์—ฌ๊ธฐ์„œ๋ถ€ํ„ฐ ์ฝ๋Š”๋‹ค. static void Main(string[] args) { ์ด ์‚ฌ์ด์˜ ๋‚ด์šฉ์„ ์ฝ๋Š”๋‹ค. }\ f10์„ ๋ˆ„๋ฅด๋ฉด ide๋ฅผ ๋”ฐ๋ผ ํ•œ์ค„์”ฉ ์ฝ์„ ์ˆ˜ ์žˆ๋‹ค. ๋…ธ๋ž€ ํ™”์‚ดํ‘œ๋Š” ์‹คํ–‰๋˜๊ธฐ ์ง์ „์˜ ์ฝ”๋“œ๋ฅผ ํ‘œ์‹œํ•œ๋‹ค!

    C#(1) ํด๋ž˜์Šค(์„ค๊ณ„๋„) ๋จผ์ €, ๊ทธ ๋‹ค์Œ ๊ฐ์ฒด | namespace

    C#์€ ๊ต‰์žฅํžˆ ๊ณ ์ง€์‹ํ•œ ๊ฐ์ฒด์ง€ํ–ฅ ์–ธ์–ด์ด๋‹ค. C#์€ ํด๋ž˜์Šค์˜ ๋…ธ์˜ˆ์ด๋‹ค. ๋ชจ๋“  ๊ธธ์€ ํด๋ž˜์Šค๋กœ ํ†ตํ•œ๋‹ค. ํด๋ž˜์Šค๋ฅผ ์„ ์–ธํ•œ๋‹ค๋Š” ๊ฒƒ์ด ๊ณง ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ•œ๋‹ค๋Š” ๋œป์ด๋‹ค. ๊ฐ ํด๋ž˜์Šค๋Š” ๊ฐœ๋ฐœ์ž๊ฐ€ ์ƒ๊ฐํ•œ ๊ฐœ๋…์ด ํ”„๋กœ๊ทธ๋žจ์—์„œ ์‚ฌ์šฉ๋˜์–ด์ง€๊ธฐ ์œ„ํ•œ ์„ค๊ณ„๋„๊ฐ€ ๋œ๋‹ค. ์„ค๊ณ„๋„๊ฐ€ ์—†์œผ๋ฉด ๋‚ด์šฉ๋ฌผ๋„ ๋งŒ๋“ค ์ˆ˜๊ฐ€ ์—†๋‹ค. ๊ทธ๋Ÿฌ๋ฏ€๋กœ C# ์ฝ”๋”ฉ์—์„œ๋Š” ๋ฌด์กฐ๊ฑด ์„ค๊ณ„๋„๊ฐ€ ๋จผ์ €๋‹ค. ์ฆ‰, ๊ฐ์ฒด ์ง€ํ–ฅ -> ๋‚ด๊ฐ€ ํ‘œํ˜„ํ•˜๊ณ  ์‹ถ์€๊ฑธ ํด๋ž˜์Šค๋กœ ๋งŒ๋“ค์–ด์„œ ๊ทธ ํด๋ž˜์Šค๋กœ ๊ฐ์ฒด๋ฅผ ๋งŒ๋“œ๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด๋‹ค. ๊ฐ์ฒด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ชจ๋“ ๊ฑธ ํ•ด๊ฒฐํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ์ฒด๋ฅผ ์ง€ํ–ฅ(ํ–ฅํ•œ๋‹ค)ํ•  ์ˆ˜๋ฐ–์— ์—†๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ตฌํ˜„๊ณผ ๊ฐœ๋…์ด ๋ถ„๋ฆฌ๋˜์ง€ ์•Š๋Š”๋‹ค. ํด๋ž˜์Šค์˜ ์ด๋ฆ„ : ํด๋ž˜์Šค์˜ ์ด๋ฆ„๋“ค์€ ์ „๋ฌธ์ ์ธ ์šฉ์–ด๋กœ '์‹๋ณ„์ž' ์–ด๋– ํ•œ ์ฝ”๋“œ์  ๋‚ด์šฉ์„ ๋ฌถ๋Š” ํ•˜๋‚˜์˜ ๋ช…์นญ์ด๋‹ค. using: ์ด๋ฏธ ๋‹ค ์ž‘์„ฑ๋œ ์ฝ”๋“œ'๋“ค' Co..