C#
3. object, ๋ฐ์ฑ๊ณผ ์ธ๋ฐ์ฑ, var
C#์์ ์ ๊ณตํ๋ ๊ธฐ๋ณธ ๋ฐ์ดํฐ ํ์์๋ ์ซ์ ํ์, ๋ ผ๋ฆฌ ํ์, ๋ฌธ์์ด ํ์, ์ค๋ธ์ ํธ ํ์์ผ๋ก ๋ถ๋ฆฌ๋๋ค. byte(0~255)๋ ํฌ๊ธฐ๊ฐ 1๋ฐ์ดํธ๋ผ์ ์ง์ด์ง ์ด๋ฆ, short๋ short integer์ ์ค์๋ง, int๋ integer, long์ long integer์ ์ค์๋ง, char๋ character(๋ฌธ์)์ ์ค์๋ง ^^ ์ด ์ค ๋ฌธ์์ด ํ์๊ณผ ์ค๋ธ์ ํธ ํ์์ ์ฐธ์กฐ ํ์์ ํด๋นํ๋ฉฐ, ๋๋จธ์ง๋ ๋ชจ๋ ๊ฐ ํ์์ด๋ค. ๋ฉ๋ชจ๋ฆฌ ํจ์จ์ ๊ณ ๋ คํ์ง ์๋ ์ํํธ์จ์ด๋ ๊ธ์ธ ์ปดํจํฐ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ ๋ถ ์ ์ํด๋ฒ๋ฆด ์๋ ์๋ค. ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ ๋ฐ์ดํธ๋ผ๋ ์ ๊ฒ ์ฐ๊ณ CPU๋ฅผ ํ ์ฌ์ดํด์ด๋ผ๋ ๋ ์ ๊ฒ ๋๋๋ก ๋ง๋ค์. - ๋ฐ์ฑ : ๊ฐ ํ์์ object ํ์์ ๋ด์ ํ์ ์ฌ๋ฆฌ๊ธฐ - ์ธ๋ฐ์ฑ : ํ์ ์ฌ๋ผ๊ฐ ์๋ ๋ฐ์ดํฐ๋ฅผ object..

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 ๋๊ทธ๋ผ๋ฏธํ ์ถ๋ ฅ](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2Fd2ZTqZ%2FbtrsfWjzVNU%2FAAAAAAAAAAAAAAAAAAAAAImjaMYMoVJGh-5NbQLR6d6JACUWzOSmSYy7xpVb139D%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1756652399%26allow_ip%3D%26allow_referer%3D%26signature%3D9hprGGHxpg2DvmKoa%252Frg7VaeATM%253D)
[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..