์ ์ฒด ๊ธ
ํด๋์ค๋ฅผ ๋ฐฐ์ด๋ก ์ ์ธํ๊ธฐ
C#์์ class๋ฅผ ๋ฐฐ์ด๋ก ์ ์ธํ์ฌ ์ฌ์ฉํ ๊ฒฝ์ฐ์๋, ์๋ ์์ ์ ๊ฐ์ด ๋ฐฐ์ด ์ ์ธ์์ new ํค์๋๋ฅผ ์ ์ธํ๊ณ , ๋ค์ ํ๋ฒ ๊ฐ๋ณ ์์๋ง๋ค new ์ ์ธ์ ํด ์ฃผ์ด์ผ ํ๋ค. ์คํ์ดํ๋์ฉ๋ท - ๋ฐ๋ปํ๊ฒ ์ฆ๊ธฐ๋ ์ฝ๋ฉ ํ ์~โช :: [C#] ํด๋์ค๋ฅผ ๋ฐฐ์ด๋ก ์ ์ธํ๊ธฐ (tistory.com) [C#] ํด๋์ค๋ฅผ ๋ฐฐ์ด๋ก ์ ์ธํ๊ธฐ ์.. ์ด๊ฑฐ ์ ๋ง ๋ชฐ๋๋์? C# ํด๋์ค์ ์ธ์คํด์ค๋ฅผ ๋ฐฐ์ด๋ก ์ ์ธํ ๋ ๋์ ์ผ๋ก ์ ์ฒด ํ ๋นํ ๋ค, ๋ค์ ํ๋ํ๋ ๋ค ํ ๋นํด์ค์ผ ํ๋ค๋. ์ด๊ฑฐ ๋๋ฌธ์ ์ด์ ์ค๋ ํค๋ฉ๊ฑฐ ์๊ฐํ๋ฉด..@#$%& ์ถ์ฒ:hazelstyle.e topnanis.tistory.com ์ ๋งํฌ๋ฅผ ์ฐธ๊ณ ํด์ ์์ ๋ฅผ ์์ฑํ์๋ค. using System; namespace MoreOnArray { class Test { int nu..
48. System.Array
C#์์๋ ๋ชจ๋ ๊ฒ์ด ๊ฐ์ฒด์ด๋ค. ๋ฐฐ์ด๋ ๊ฐ์ฒด์ด๋ฉฐ, ๋ฐฐ์ด์ System.Array ํด๋์ค์ ๋์๋๋ค. ๋ค์ ์์ ๋ int ๊ธฐ๋ฐ์ ๋ฐฐ์ด์ด System.Array ํ์์์ ํ์๋์์์ ๋ณด์ฌ์ค๋ค. using System; namespace DerivedFromArray { class MainApp { static void Main(string[] args) { int[] array = new int[] { 10, 30, 20, 7, 1 }; Console.WriteLine($"Type of array : {array.GetType()}"); Console.WriteLine($"Base type of array : {array.GetType().BaseType}"); } } } ์ถ๋ ฅ ๊ฒฐ๊ณผ Type of array..
47. ๋ฐฐ์ด์ฐ๋ ์ด์ , ๋ฐฐ์ด ์ด๊ธฐํ ๋ฐฉ๋ฒ 3๊ฐ์ง
๋ณ์๋ฅผ ๋ช ํจ์ด๋ผ๊ณ ํ๋ค๋ฉด, ๋ฐฐ์ด์ด๋ ์ปฌ๋ ์ ์ ๋ช ํจ์ง์ด๋ผ๊ณ ํ ์ ์๋ค! ๋ช ํจ์ง์ด ์์ ์ฌ์์ ๋ช ํจ ๊ด๋ฆฌ ๊ณ ๋ฏผ์ ๋์ด์ฃผ๋ ๊ฒ์ฒ๋ผ ๋ฐฐ์ด๊ณผ ์ปฌ๋ ์ ์ ํ๋ก๊ทธ๋๋จธ์ ๋ฐ์ดํฐ ๊ด๋ฆฌ ๊ณ ๋ฏผ์ ๋์ด์ค๋ค. ๋ณ์๋ฅผ 300๊ฐ ์ ์ธํ์ง ๋ง๊ณ 300๊ฐ์ ์ฉ๋์ ๊ฐ์ง ๋ณ์๋ฅผ 1๊ฐ๋ง ์ ์ธํ๋๋ก ํ์. ๋ฐ์ดํฐํ์[] ๋ฐฐ์ด ์ด๋ฆ = new ๋ฐ์ดํฐํ์[์ฉ๋]; ๊ฐ์ ์ฑ๊ฒฉ์ ๋ฐ์ดํฐ๋ผ๋ฉด ๋ณ์๋ฅผ ์ฌ์ฉํ๋ ๊ฒ๋ณด๋ค ๋ฐฐ์ด๋ก ์ ์ํ ๋ค์ for๋ฌธ์ด๋ foreach๋ฌธ๊ณผ ํจ๊ป ์ฌ์ฉํ๋ ๊ฒ์ด ์ฝ๋๋ฅผ ํจ์ฌ ๋ ๊ฐ๊ฒฐํ๊ฒ ๋ง๋ค ์ ์๋ค. class MainApp { static void Main(string[] args) { float[] tests = new float[5]; tests[0] = 75; tests[1] = 69; tests[2] = 100; t..
46. ์ฑํฐ9 ์ฐ์ต๋ฌธ์
์ฐ์ต๋ฌธ์ 1 using System; namespace Ex9_1 { class NameCard { private int age; private string name; public int Age { get; set; } public string Name { get; set; } } class MainApp { static void Main(string[] args) { NameCard ACard = new NameCard(); ACard.Age = 20; ACard.Name = "๊น๊ฐ์"; Console.WriteLine($"{ACard.Name}์ ๋์ด๋ {ACard.Age}์ ๋๋ค."); } } } ์ถ๋ ฅ ๊ฒฐ๊ณผ ๊น๊ฐ์์ ๋์ด๋ 20์ ๋๋ค. ์ฐ์ต๋ฌธ์ 2 using System; namespace Ex9_1 {..
45. ์ถ์ํด๋์ค์ ํ๋กํผํฐ
์ถ์ํด๋์ค๋ ํด๋์ค์ฒ๋ผ ๊ตฌํ๋ ํ๋กํผํฐ๋ฅผ ๊ฐ์ง ์ ์๋ ํํธ, ์ธํฐํ์ด์ค์ฒ๋ผ ๊ตฌํ๋์ง ์์ ํ๋กํผํฐ๋ ๊ฐ์ง ์ ์๋ค.(์ถ์ ํ๋กํผํฐ) ์ถ์ ํ๋กํผํฐ ์ญ์ ์ธํฐํ์ด์ค์ ํ๋กํผํฐ์ ๋ค๋ฅผ ๊ฒ์ด ์๋ค.(ํ์ ํด๋์ค๊ฐ ํด๋น ํ๋กํผํฐ๋ฅผ ๊ตฌํํ๋๋ก ๊ฐ์ ) ์ถ์ ํด๋์ค์ ์ถ์ ํ๋กํผํฐ๋ ์ธํฐํ์ด์ค์ฒ๋ผ ๊ตฌํ์ ๋น์๋์ ๊ฒ ๋ง์ผ๋ก๋ ๋ง๋ค ์ ์๋ค.(C# ์ปดํ์ผ๋ฌ๊ฐ ์๋ ๊ตฌํ ํ๋กํผํฐ๋ก ๊ฐ์ฃผํ๊ณ ๊ตฌํ์ ์๋์ผ๋ก ์ฑ์ ๋ฃ์ผ๋ฏ๋ก... ์ถ์ ํ๋กํผํฐ๋ ๋ค์๊ณผ ๊ฐ์ด abstract ํ์ ์๋ฅผ ์ด์ฉํด ์ ์ธํ๋ค! abstract class ์ถ์ํด๋์ค์ด๋ฆ { abstract ๋ฐ์ดํฐํ์ ํ๋กํผํฐ์ด๋ฆ { get; set; } } ์ถ์ ํ๋กํผํฐ๋ฅผ ๊ฐ๋ ์ถ์ ํด๋์ค์ ์ด๋ฅผ ์์ํ๋ ํ์ ํด๋์ค ์์ ์ฝ๋ abstract class Product..
44. ์ธํฐํ์ด์ค์ ํ๋กํผํฐ
์ธํฐํ์ด์ค๋ ๋ฉ์๋ ๋ฟ๋ง ์๋๋ผ ํ๋กํผํฐ์ ์ธ๋ฑ์๋ ๊ฐ์ง ์ ์๋ค. ํ๋กํผํฐ๋ ์ธ๋ฑ์๋ฅผ ๊ฐ์ง ์ธํฐํ์ด์ค๋ฅผ ์์ํ๋ ํด๋์ค๊ฐ '๋ฐ๋์' ํด๋น ํ๋กํผํฐ์ ์ธ๋ฑ์๋ฅผ ๊ตฌํํด์ผ ํ๋ ๊ฒ์ ๋ฌผ๋ก ์ด๋ค. (๋น์ฐํ ์ด์ผ๊ธฐ์ด์ง๋ง)์ธํฐํ์ด์ค์ ๋ค์ด๊ฐ๋ ํ๋กํผํฐ๋ ๊ตฌํ์ ๊ฐ์ง ์๋๋ค. ์ธํฐํ์ด์ค์ ํ๋กํผํฐ ์ ์ธ์ ํด๋์ค์ ์๋ ๊ตฌํ ํ๋กํผํฐ ์ ์ธ๊ณผ ๊ทธ ๋ชจ์ต์ด ๋์ผํ๋ค. ๋ค์์ ์ธํฐํ์ด์ค์ ํ๋กํผํฐ ์ ์ธ ํ์์ด๋ค. interface ์ธํฐํ์ด์ค์ด๋ฆ { public ํ์ ํ๋กํผํฐ์ด๋ฆ1 { get; set; } public ํ์ ํ๋กํผํฐ์ด๋ฆ2 { get; set; } //... } ๋ค์์ ํ๋กํผํฐ๋ฅผ ๊ฐ์ง ์ธํฐํ์ด์ค์ ์ด๋ฅผ ์์ํ๋ ํ์ ํด๋์ค์ ์์ด๋ค. interface Iproduct { string ProductName { ge..
43. ๋ฌด๋ช ํ์
๋ฌด๋ช ํ์์ ํ์์ ์ ์ธ๊ณผ ๋์์ ์ธ์คํด์ค๋ฅผ ํ ๋นํ๋ค. ์ด ๋๋ฌธ์... ์ธ์คํด์ค๋ฅผ ๋ง๋ค๊ณ ๋ค์๋ ์ฌ์ฉํ์ง ์์ ๋ ๋ฌด๋ช ํ์์ด ์๊ธดํ๋ค. (๋ ๊ฐ ์ด์์ ์ธ์คํด์ค๋ฅผ ๋ง๋ค๋ ค๋ฉด class๋ struct๋ฅผ ์ด์ฉํด ์ด๋ฆ์ ๊ฐ์ง ํ์์ ๋ณ๋๋ก ๋ง๋ค์ด์ผ ํ๋ค.) ๋ฌด๋ช ํ์์ ์ var myInstance = new {Name="๋ฐ์ํ", Age="17"}; ๊ดํธ { ์ } ์ฌ์ด์ ์์์ ํ๋กํผํฐ ์ด๋ฆ์ ์ ๊ณ ๊ฐ์ ํ ๋นํ๋ฉด ๊ทธ๋๋ก ์ ํ์์ ํ๋กํผํฐ๊ฐ ๋๋ค. ์์ ๊ฐ์ด ์ ์ธํ ๋ฌด๋ช ํ์์ ์ธ์คํด์ค๋ ์ฌ๋ ๊ฐ์ฒด์ฒ๋ผ ํ๋กํผํฐ์ ์ ๊ทผํ์ฌ ์ฌ์ฉํ ์ ์๋ค. Console.WriteLine(myInstance.Name, myInstance.Age); ๋ฌด๋ช ํ์์์ ์ฃผ์ํ ์ ์, ๋ฌด๋ช ํ์์ ํ๋กํผํฐ์ ํ ๋น๋ ๊ฐ์ ๋ณ๊ฒฝ๋ถ๊ฐ๋ฅํ..