์ ์ฒด ๊ธ
35. ์ธํฐํ์ด์ค ๋ค์ค ์์
ํด๋์ค๋ ์ฌ๋ฌ ํด๋์ค๋ฅผ ํ๊บผ๋ฒ์ ์์ํ ์ ์๋ค.(์ฃฝ์์ ๋ค์ด์๋ชฌ๋ : ๋ชจํธ์ฑ ๋ฐ์) ์ต์กฐ์ ํด๋์ค(Ridable)๊ฐ ๋ ๊ฐ์ ํ์ํด๋์ค(Car, Plane)๋ก๋ถํฐ ์์๋ฐ๊ณ , ์ด ๋๊ฐ์ ํ์ ํด๋์ค๋ฅผ ๋ค์ ํ๋์ ํด๋์ค(MyVehicle)๊ฐ ์์ํ๋ ๊ฒ์ ๋งํ๋ค. ์ฌ๊ธฐ์ MyVehicle๋ Car์ Ride()๋ฉ์๋๋ฅผ ๋ฌผ๋ ค๋ฐ์์ง, Plane์ Ride()๋ฉ์๋๋ฅผ ๋ฌผ๋ ค๋ฐ์์ง, ๋ชจํธํ๋ค. public abstract class Ridable { public abstract void Ride(); } public class Car : Ridable { public void Run() { Console.WriteLine("๋ถ๋ฆ๋ถ๋ฆ"); } public override void Ride() { Run(); } }..
34. ์ธํฐํ์ด์ค๋ฅผ ์์ํ๋ ์ธํฐํ์ด์ค
String.Format ๋ฉ์๋ (System) | Microsoft Docs (์ด๋ฒ ํ์ด์ง ์์ ์์ ์ฌ์ฉํ String.Format ๋ฉ์๋!) String.Format ๋ฉ์๋ (System) ์ง์ ๋ ํ์์ ๋ฐ๋ผ ๊ฐ์ฒด์ ๊ฐ์ ๋ฌธ์์ด๋ก ๋ณํํ์ฌ ๋ค๋ฅธ ๋ฌธ์์ด์ ์ฝ์ ํฉ๋๋ค.Converts the value of objects to strings based on the formats specified and inserts them into another string. String.Format ๋ฉ์๋๋ฅผ ์ฒ์ ์ฌ docs.microsoft.com ์ธํฐํ์ด์ค๋ฅผ ์์ํ ์ ์๋ ๊ฒ์ ํด๋์ค ๋ฟ์ด ์๋๋ค. ํด๋์ค, ๊ตฌ์กฐ์ฒด๋ ๋ฌผ๋ก ์ด๊ณ ์ธํฐํ์ด์ค๋ ์ธํฐํ์ด์ค๋ฅผ ์์ํ ์ ์๋ค. ๊ธฐ์กด์ ์ธํฐํ์ด์ค์ ์๋ก์ด ๊ธฐ๋ฅ์ ์ถ๊ฐํ ์ธ..
33. ์ธํฐํ์ด์ค(1)
https://youtu.be/8NhvqLl-o2A ํด๋์ค๋ ๊ฐ์ฒด์ ์ฒญ์ฌ์ง, ์ธํฐํ์ด์ค๋ ํด๋์ค์ ์ฒญ์ฌ์ง ์ธํฐํ์ด์ค๋ ํด๋์ค๊ฐ ํด์ผํ๋ ํ๋(์ฆ, ๋ฉ์๋)์ ๊ฒฐ์ ์ธํฐํ์ด์ค๋ (๊ธฐ๋ณธ์ ์ผ๋ก) ๋ฉ์๋ ๊ตฌํ์ ๊ฐ์ง ์์ ์ธํฐํ์ด์ค๋ ํ๋๋ฅผ ๊ฐ์ง ์์ ์ธํฐํ์ด์ค๋ ์ฝ์์ด๋ค. ์๋ํ๋ฉด ์ธํฐํ์ด์ค๋ฅผ ์์ํ๋ ์ค์ฒด ํด๋์ค๋ ๋ฐ๋์ ์ธํฐํ์ด์ค์์ ์ ์ธ๋ ๋ฉ์๋๋ฅผ ๋ชจ๋ ๊ตฌํํด์ผ ํ๊ธฐ ๋๋ฌธ์ด๋ค. ์ค์ฒด ํด๋์ค๊ฐ ์ด๋ค ์ธํฐํ์ด์ค์ ํ์ ํด๋์ค์ธ์ง๋ฅผ ์๊ณ ์๋ค๋ฉด ๊ทธ ํด๋์ค๊ฐ ์ด๋ค public ๋ฉ์๋๋ฅผ ์ ๊ณตํ๋์ง๋ ํ์ ํ ์ ์์ [๊ทธ๊ฒ์ด ์ฝ์์ด๋๊น....(๋๋ฃจํ ํค)] ์ปค๋ฅํฐ๋ ๋ ๋ถํ์ ์ฐ๊ฒฐํ๋ ์ค๊ฐ ๋ถํ ์ธํฐํ์ด์ค๋ ๋ ํด๋์ค๋ฅผ ์ด์ด์ฃผ๋ ์ปค๋ฅํฐ ์ธํฐํ์ด์ค๋ ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ์ ํ์ธต ๋ ๊ฐ๋ ฅํ๊ฒ ๋ง๋ค์ด์ฃผ๋ ์์์ด๋ค. ๊ฐ์ฒด์งํฅ..
์ด๊ฒ์ด C#์ด๋ค 7์ฅ ์ฐ์ต๋ฌธ์ ์ฐธ๊ณ
์ด๊ฒ์ด C#์ด๋ค(๊ฐ์ ํ) 7์ฅ ์ฐ์ต๋ฌธ์ : ๋ค์ด๋ฒ ๋ธ๋ก๊ทธ (naver.com)
32. ํํ
ํํ๋ ์ฌ๋ฌ ํ๋๋ฅผ ๋ด์ ์ ์๋ ๊ตฌ์กฐ์ฒด์ด๋ค. ํ์ง๋ง ํํ์ ํ์ ์ด๋ฆ์ด ์๋ค. ๊ทธ๋์ ํํ์ ์์ฉ ํ๋ก๊ทธ๋จ ์ ์ฒด์์ ์ฌ์ฉํ ํ์์ ์ ์ธํ ๋๊ฐ ์๋, ์ฆ์์์ ์ฌ์ฉํ ๋ณตํฉ ๋ฐ์ดํฐ ํ์์ ์ ์ธํ ๋ ์ ํฉํ๋ค. ํํ์ ๊ตฌ์กฐ์ฒด์ด๋ฏ๋ก ๊ฐ ํ์์ด๋ค. ๊ฐ ํ์์ ์์ฑ๋ ์ง์ญ์ ๋ฒ์ด๋๋ฉด ์คํ์์ ์๋ฉธ๋๊ธฐ ๋๋ฌธ์ ํ๋ก๊ทธ๋จ์ ์ฅ๊ธฐ์ ์ธ ๋ถ๋ด์ ์ฃผ์ง ์๋๋ค๋ ์ฅ์ ์ด ์๋ค. using System; using System.Collections; using System.Collections.Generic; using System.Globalization; using System.Linq; using System.Text; using System.Threading.Tasks; using static System.Console;..
ํ๋, ๋ฉค๋ฒ, ์ง์ญ๋ณ์, ์ ์ ํ๋, ์ ์ ๋ฉ์๋ ๊ฐ๋ ์ ๋ฆฌ
C# ๊ฐ๋ ์๋ฅผ ๋ณด๋ค๋ณด๋ ํ๋, ๋ฉค๋ฒ, ์ง์ญ๋ณ์, ์ ์ ํ๋, ์ ์ ๋ฉ์๋ ๊ฐ๋ ์ ํํ์ด์ง์ ์ ๋ฆฌํด๋์ผ ์ถํ ํผ๋์ด ์๊ฒ ๋ค ์ถ์ด์ ์ด๋ ๊ฒ ์ ๋ฆฌํด๋๋ค. ํ๋๋ ํด๋์ค ์์ ์ ์ธ๋ ๋ณ์๋ค์ ์ผ์ปซ๋๋ค.(ํ ์์ญ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ ๋น) ๋ฉค๋ฒ: ํ๋์ ๋ฉ์๋๋ฅผ ๋น๋กฏํ์ฌ ํ๋กํผํฐ, ์ด๋ฒคํธ ๋ฑ ํด๋์ค ๋ด์ ์ ์ธ๋๋ ์์๋ค์ ์ผ์ปซ๋๋ค. ์ง์ญ ๋ณ์: ๋ฉ์๋ ๋ด๋ถ์ ์ ์ธ๋ ๋ณ์์ด๋ค(์คํ ์์ญ์ ๋ฉ๋ชจ๋ฆฌ ํ ๋น) ์ ์ ํ๋ : static์ผ๋ก ํ์ ํ์ง ์์ ํ๋๋ ์๋์ผ๋ก ์ธ์คํด์ค์ ์์๋๋ฉฐ, static์ผ๋ก ํ์ ํ ํ๋๋ ํด๋์ค์ ์์๋๋ค. ์ ์ ํ๋๋ฅผ ๋ง๋ค์ด์ ์ป๋ ์ด๋: static์ผ๋ก ์์ํ ํ๋๋ ํ๋ก๊ทธ๋จ ์ ์ฒด์ ๊ฑธ์ณ ํ๋๋ง ๋ง๋ค ์ ์๊ฒ ๋๋ค. ๊ทธ๋ฌ๋ฏ๋ก ํ๋ก๊ทธ๋จ ์ ์ฒด์ ๊ฑธ์ณ ๊ณต์ ํด์ผ ํ๋ ๋ณ์๊ฐ ์๋ค๋ฉด ์ ์ ํ๋๋ฅผ ์ด์ฉํ๋ฉด ..
31. ๊ตฌ์กฐ์ฒด, ๋ณ๊ฒฝ ๋ถ๊ฐ๋ฅ ๊ตฌ์กฐ์ฒด(readonly struct)
C# ๋ณตํฉ ๋ฐ์ดํฐ ํ์์๋ ํด๋์ค ๋ง๊ณ ๋ ๊ตฌ์กฐ์ฒด๋ผ๋ ๊ฒ์ด ์๋ค. ๊ตฌ์กฐ์ฒด๋ ํด๋์ค์ ์ฌ์ด์ง๊ฐ์ฏค ๋๊ธฐ ๋๋ฌธ์ ํ๋์ ๋ฉ์๋๋ฅผ ๊ฐ์ง ์ ์๋ ๋ฑ ์๋น ๋ถ๋ถ ๋น์ทํ๋ค. struct ๊ตฌ์กฐ์ฒด์ด๋ฆ { //ํ๋ //๊ตฌ์กฐ์ฒด } ๊ตฌ์กฐ์ฒด๋ฅผ ์ ์ธํ๋ ์ struct MyStruct { public int MyField1 public int MtField2 public void MyMethod() { //... } } ๊ตฌ์กฐ์ฒด์ ํ๋๋ฅผ public์ผ๋ก ์ ์ธํ๋ค. ํด๋์ค์์๋ ์๋์ฑ๋๋ฌธ์ ๋ชจ๋ ํ๋๋ฅผ ๋ฐ๋์ private๋ก ์์ฑํ์๋ค. ๋ฌธ๋ฒ์ ์ผ๋ก๋ ๊ตฌ์กฐ์ฒด๊ฐ ํด๋์ค์ ์ ์ฌํ๊ธฐ๋ ํด๋, ์กด์ฌ ์ด์ ๊ฐ ๋ค๋ฅด๋ค. ํด๋์ค๋ ์ค์ธ๊ณ์ ๊ฐ์ฒด๋ฅผ ์ถ์ํํ๋ ค๋๋ฐ ๊ทธ ์กด์ฌ์ ์ด์ ๊ฐ ์์ง๋ง ๊ตฌ์กฐ์ฒด๋ ๋ฐ์ดํฐ๋ฅผ ๋ด๊ธฐ ์ํ ์๋ฃ๊ตฌ์กฐ๋ก ์ฌ์ฉ๋๋ค. (๋ฐ๋ผ์ ๊ตณ์ด..