23. ์ปฌ๋ ‰์…˜ ์ดˆ๊ธฐํ™”, ์ธ๋ฑ์„œ
ยท
๐Ÿ’ป Programming Language/C#
ArrayList, Stack, Queue using System.Collections; using static System.Console; //์ด์™€ ๊ฐ™์ด using static System.Console; ์„ ์„ ์–ธํ•˜๋ฉด ๋ณธ๋ฌธ์—์„œ Console์„ ์ œ์™ธํ•˜๊ณ  // WriteLine()๋งŒ์œผ๋กœ ์ถœ๋ ฅ๋ฌธ์„ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค. namespace CollectionInitialEx { class Program { static void Main(string[] args) { //์ปฌ๋ ‰์…˜ ์ดˆ๊ธฐ์ž๋ฅผ ์ด์šฉํ•œ ์ดˆ๊ธฐํ™” ๋ฐฉ๋ฒ• => Stack, Queue์—์„œ๋Š” ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค. //Stack์ด๋‚˜ Queue๋Š” Add๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๊ธฐ๋•Œ๋ฌธ //์ปฌ๋ ‰์…˜ ์ดˆ๊ธฐ์ž๋Š” IEnumerable์ด๋ผ๋Š” ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ƒ์†๋ฐ›์•„ Add()๋ฉ”์†Œ๋“œ๋ฅผ ๊ตฌํ˜„ํ•˜๊ณ  ์žˆ..
22. Queue, Stack, Hashtable ์‚ฌ์šฉ
ยท
๐Ÿ’ป Programming Language/C#
Queue(ํ) Queue : ์„ ์ž…์„ ์ถœ(first in first out(FIFO)) ํ˜•ํƒœ์˜ ์ž๋ฃŒ๊ตฌ์กฐ Enqueue : ๋ฐ์ดํ„ฐ๋ฅผ ์ž…๋ ฅ Dequque : ๋ฐ์ดํ„ฐ๋ฅผ ์ถœ๋ ฅ using System.Collections; namespace QueueEx { class Program { static void Main(string[] args) { Queue q = new Queue(); q.Enqueue(1); q.Enqueue(100); q.Enqueue(200); q.Dequeue(); q.Enqueue(22.5); int aa = (int)q.Dequeue(); // objํƒ€์ž…์œผ๋กœ ๋ฐ˜ํ™˜๋˜๋ฏ€๋กœ casting ํ•„์š”. q.Enqueue("๊ฐ€๋‚˜๋‹ค"); while(q.Count > 0) { Console.WriteLi..
21. ArrayList ์‚ฌ์šฉํ•˜๊ธฐ
ยท
๐Ÿ’ป Programming Language/C#
Collection(์ปฌ๋ ‰์…˜) : ๊ฐ„๋‹จํžˆ ๋งํ•˜๋ฉด, ๋ฐ์ดํ„ฐ ๋ชจ์Œ์„ ๋‹ด๋Š” ์ž๋ฃŒ๊ตฌ์กฐ ๋ฐฐ์—ด์ด๋‚˜, ์Šคํƒ, ํ ๋“ฑ์„ ์ปฌ๋ ‰์…˜์ด๋ผ๋Š” ์ด๋ฆ„์œผ๋กœ ์ œ๊ณต ๋ฐฐ์—ด์€ System.Array ํƒ€์ž…์ด๋‹ค.(=System.Arrayํด๋ž˜์Šค๋ฅผ ์ƒ์†๋ฐ›๋Š”๋‹ค.) => System.Array๋Š” ICollection ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ƒ์† => ๋”ฐ๋ผ์„œ ๋ฐฐ์—ด๋„ ์ปฌ๋ ‰์…˜(collection)์˜ ์ผ๋ถ€์ด๋‹ค. .Net ํ”„๋ ˆ์ž„์›Œํฌ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์ปฌ๋ ‰์…˜์€ ICollection ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ƒ์†๋ฐ›๋Š”๋‹ค. ArrayList, Queue, Stack, Hashtable ArrayList ArrayList๋Š” ๋ฐฐ์—ด๊ณผ ๋น„์Šทํ•œ ์ปฌ๋ ‰์…˜ ๋ฐฐ์—ด์ฒ˜๋Ÿผ []์ธ๋ฑ์Šค๋กœ ์š”์†Œ์˜ ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•˜๊ณ , ํŠน์ • ์š”์†Œ๋ฅผ ๋ฐ”๋กœ ์ฝ๊ณ  ์“ธ ์ˆ˜ ์žˆ๋‹ค.ํ•˜์ง€๋งŒ, ๋ฐฐ์—ด์„ ์„ ์–ธํ•  ๋•Œ๋Š” ๋ฐฐ์—ด ํฌ๊ธฐ๋ฅผ ์ง€์ •ํ•˜๋Š” ๋ฐ˜๋ฉด, ArrayLis..
20. ์ถ”์ƒํด๋ž˜์Šค์—์„œ ์ž๋™ ํ”„๋กœํผํ‹ฐ ์‚ฌ์šฉ๋ฒ•
ยท
๐Ÿ’ป Programming Language/C#
namespace AbstractEx { abstract class Book { private static int isbn = 0; public string ISBN { get { return String.Format("{0:d4}", isbn++); } } // ์ถ”์ƒ ํ”„๋กœํผํ‹ฐ => ๊ตฌํ˜„์ด ์•ˆ๋œ ํ”„๋กœํผํ‹ฐ abstract๊ฐ€ ๋ถ™์–ด์žˆ๊ธฐ ๋•Œ๋ฌธ์— abstract public DateTime BookDate { get;set; } } class MyBook : Book { public override DateTime BookDate { get; set; } } class Program { static void Main(string[] args) { Book book1 = new MyBook() { BookDate ..
19. ์ธํ„ฐํŽ˜์ด์Šค์—์„œ ์ž๋™ ํ”„๋กœํผํ‹ฐ ์‚ฌ์šฉ๋ฒ•
ยท
๐Ÿ’ป Programming Language/C#
namespace InterfacePropertyEx { // ์ธํ„ฐํŽ˜์ด์Šค ํ”„๋กœํผํ‹ฐ interface IKeyValue { // ์ธํ„ฐํŽ˜์ด์Šค์—์„œ ์ž๋™ ํ”„๋กœํผํ‹ฐ๋Š” C# ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ์ž๋™์œผ๋กœ ๊ตฌํ˜„ํ•ด์ฃผ์ง€ ์•Š๋Š”๋‹ค. // ๋”ฐ๋ผ์„œ, ํ•ด๋‹น ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ƒ์†๋ฐ›๋Š” ํด๋ž˜์Šค์—์„œ ๊ตฌํ˜„ํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค. string Key { get; set; } string Value { get; set; } } class KeyValue : IKeyValue { public string Key { get; set; } public string Value { get; set; } // ์ด๋ ‡๊ฒŒ ์ƒ์†๋ฐ›๋Š” ํด๋ž˜์Šค์—์„œ ์ž๋™ํ”„๋กœํผํ‹ฐ๋ฅผ ์ด์šฉํ•ด์„œ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค. // IKeyValue์˜ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•ด์ฃผ๊ณ  ์žˆ์Œ(์ฆ‰, ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ์ž๋™์œผ๋กœ ํ”„๋กœํผํ‹ฐ๋ฅผ ๊ตฌํ˜„ํ•ด์คŒ)..
18. C# 7.0์—์„œ ์ž๋™ ํ”„๋กœํผํ‹ฐ ์‚ฌ์šฉ๋ฒ•
ยท
๐Ÿ’ป Programming Language/C#
์ž๋™ ํ”„๋กœํผํ‹ฐ ๊ธฐ๋Šฅ์€ C# 3.0์—์„œ ๋„์ž…๋œ ๊ธฐ๋Šฅ ๊ธฐ์กด ํ”„๋กœํผํ‹ฐ ์‚ฌ์šฉ ์ฝ”๋“œ public string Name { get { return name; } set { name = value; } } public DateTime EntryDate { get { return entryDate; } set { entryDate = value; } } C# 3.0 ์ดํ›„ ์ž๋™ ํ”„๋กœํผํ‹ฐ ์‚ฌ์šฉ ์ฝ”๋“œ public string Name { get; set; } public DateTime EntryDate { get; set; } C# 7.0 ๋ถ€ํ„ฐ๋Š” ์ž๋™ ํ”„๋กœํผํ‹ฐ์— ์ดˆ๊ธฐ๊ฐ’์ด ํ•„์š”ํ•  ๋•Œ ์ƒ์„ฑ์ž์— ์ดˆ๊ธฐํ™” ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด์•ผํ•˜๋Š” ๋ถˆํŽธํ•จ์„ ํ•ด์†Œํ•  ์ˆ˜ ์žˆ๋„๋ก ์ดˆ๊ธฐ๊ฐ’์„ ๋ฐ”๋กœ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค. ์•„๋ž˜ ์ฝ”๋“œ๋ฅผ ํ†ตํ•ด ํ™•์ธํ•ด๋ณด์ž ๊ธฐ์กด C# 3.0์—..
17. ํ”„๋กœํผํ‹ฐ(Property)์˜ ์ดํ•ด
ยท
๐Ÿ’ป Programming Language/C#
namespace PropertyEx { //ํ”„๋กœํผํ‹ฐ class DemoClass { private int demoField; public int getDemoField() { return demoField; } public void setDemoField(int demoField) { this.demoField = demoField; } } class Program { static void Main(string[] args) { DemoClass demoClass = new DemoClass(); demoClass.setDemoField(100); Console.WriteLine(demoClass.getDemoField()); } } } ๋ณดํ†ต Java๋‚˜ ๊ฐ์ฒด์ง€ํ–ฅ์–ธ์–ด ์—์„œ ์œ„์™€ ๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ getter..