ÄÁÅÙÃ÷»ó¼¼º¸±â

¸ð¾î ÀÌÆåƼºê C# (2ÆÇ)
¸ð¾î ÀÌÆåƼºê C# (2ÆÇ)
  • ÀúÀÚºô ¿Í±×³Ê Àú/±è¿Ï¼· ¿ª
  • ÃâÆÇ»çÇѺû¹Ìµð¾î
  • ÃâÆÇÀÏ2019-05-31
  • µî·ÏÀÏ2019-08-29
º¸À¯ 2, ´ëÃâ 0, ¿¹¾à 0, ´©Àû´ëÃâ 16, ´©Àû¿¹¾à 0

Ã¥¼Ò°³

´õ ³ªÀº Äڵ带 ÀÛ¼ºÇÏ´Â »õ·Î¿î Áöħ 50°¡Áö(C# 7.0 ´ëÀÀ)

C#Àº ÀüÅëÀûÀÎ .NET ±â¹Ý °³¹ß¿¡¼­ À¯´ÏƼ °ÔÀÓ ¿£ÁøÀ¸·Î °³¹ß ¿µ¿ªÀ» È®´ëÇϸ鼭 ´õ¿í ÁÖ¸ñ¹Þ°í ÀÖ´Ù. ¶ÇÇÑ ÀÚ¸¶¸°À¸·Î ´Ù¾çÇÑ ¸ð¹ÙÀÏ Ç÷§Æû¿¡ ´ëÀÀÇÒ ¼ö ÀÖ¾î ¼ö¿ä°¡ °è¼Ó ´Ã°í ÀÖ´Ù. ÀÌ Ã¥Àº ¼ÒÇÁÆ®¿þ¾î °³¹ßÀÚ°¡ C#À» ´õ È¿À²ÀûÀ¸·Î »ç¿ëÇÒ ¼ö ÀÖ´Â ´Ù¾çÇÑ ÆÁ°ú ½Ç¿ëÀûÀÎ ¹æ¹ýÀ» Á¦°øÇÑ´Ù. ƯÈ÷ ÀüÀÛÀÎ ¡ºÀÌÆåƼºê C#¡»¿¡¼­ ¹Ìó ´Ù·çÁö ¸øÇß´ø 50°³ Ãß°¡ °³¹ß ÁöħÀ» ¼±Á¤ÇØ ÀÚ¼¼È÷ ´Ù·é´Ù.

ÀúÀÚ´Â ÀÚ½ÅÀÇ ³ëÇÏ¿ì¿Í ÇÔ²² °³¹ß Ä¿¹Â´ÏƼ¿¡¼­ Á¦¾ÈÇÑ °³¹ß Áöħ±îÁö °í·ÁÇØ ¸ÅÀÏ ¹ß»ýÇÒ ¼ö ÀÖ´Â ¹®Á¦¸¦ ÇØ°áÇÒ °­·ÂÇÑ »õ ¼Ö·ç¼ÇÀ» Á¦°øÇÑ´Ù. Àü¹®°¡ÀÇ ÆÁ°ú ½Ç¿ë ¿¹Á¦ Äڵ带 ¸íÈ®ÇÏ°Ô ¼³¸íÇÑ ÀÌ Ã¥À» ÀÐ°í ³ª¸é, ÀÌ¹Ì Àͼ÷ÇÑ ÀÛ¾÷µµ ´õ È¿À²ÀûÀÌ°í È¿°úÀûÀ¸·Î ¼öÇàÇÒ ¼ö ÀÖ°Ô µÉ °ÍÀÌ´Ù.

ÀúÀÚ¼Ò°³

Àϸ®³ëÀÌ ´ëÇп¡¼­ ÄÄÇ»ÅÍ °úÇÐÀ» Àü°øÇß°í ÇöÀç ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®ÀÇ .NET Core ÄÜÅÙÃ÷ÆÀ¿¡¼­ C#°ú .NET °ü·Ã ±³À° ÀڷḦ ÀÛ¼ºÇϴ ¾÷¹«¸¦ ´ã´çÇÑ´Ù. ¼¼°è ÃÖ°íÀÇ C# Àü¹®°¡ Áß ÇѸíÀ̸ç ECMA C# Ç¥ÁØ À§¿øȸÀÇ ¸â¹öÀ̱⵵ ÇÏ´Ù. È޸ŴÏÅ׸®¾ð Åø¹Ú½º(Humanitarian Toolbox) ´ëÇ¥ÀÌÀÚ ¸¶ÀÌÅ©·Î¼ÒÇÁÆ® Áö¿ª µð·ºÅÍÀΠµ¿½Ã¿¡ 11³â°£ .NET ºÐ¾ß MVPÀ̱⵵ ÇÏ´Ù. ÃÖ±Ù¿¡´Â .NET Foundation ÀÚ¹® À§¿øÀ¸·Î À§Ã˵Ǿú´Ù. ½ºÅ¸Æ®¾÷ºÎÅÍ ´ë±â¾÷¿¡ À̸£±â±îÁö ´Ù¾çÇÑ ±â¾÷ÀÇ °³¹ß ÇÁ·Î¼¼½º¸¦ °³¼±ÇÏ°í °³¹ßÆÀÀ» ¼ºÀå½ÃÅ°´Â ÀÏÀ» µ½´Â´Ù. ¾Õ¼­ ¡ºÀÌÆåƼºê C#¡»À» Ãâ°£ÇÑ ¹Ù ÀÖ´Ù.

¸ñÂ÷

CHAPTER 1_ µ¥ÀÌÅ͠ŸÀÔ

¾ÆÀÌÅÛ 1_ Á¢±Ù °¡´ÉÇÑ µ¥ÀÌÅÍ ¸â¹ö ´ë½Å ¼Ó¼ºÀ» »ç¿ëÇ϶ó 

¾ÆÀÌÅÛ 2_ º¯°æ °¡´ÉÇÑ µ¥ÀÌÅÍ¿¡´Â ¾Ï¹¬Àû ¼Ó¼ºÀ» »ç¿ëÇϴ °ÍÀÌ ³´´Ù 

¾ÆÀÌÅÛ 3_ °ª Å¸ÀÔÀº º¯°æ ºÒ°¡´ÉÇÑ °ÍÀÌ ³´´Ù 

¾ÆÀÌÅÛ 4_ °ª Å¸ÀÔ°ú ÂüÁ¶ Å¸ÀÔÀ» ±¸ºÐÇ϶ó 

¾ÆÀÌÅÛ 5_ °ª Å¸ÀÔ¿¡¼­´Â 0ÀÌ À¯È¿ÇÑ »óÅ°¡ µÇµµ·Ï ¼³°èÇ϶ó 

¾ÆÀÌÅÛ 6_ ¼Ó¼ºÀ» µ¥ÀÌÅÍó·³ µ¿ÀÛÇÏ°Ô ¸¸µé¶ó 

¾ÆÀÌÅÛ 7_ Æ©ÇÃÀ» »ç¿ëÇؼ­ Å¸ÀÔÀÇ »ç¿ë ¹üÀ§¸¦ Á¦ÇÑÇ϶ó 

¾ÆÀÌÅÛ 8_ À͸í Å¸ÀÔÀº ÇÔ¼ö¸¦ ¹þ¾î³ªÁö ¾Ê°Ô »ç¿ëÇ϶ó 

¾ÆÀÌÅÛ 9_ ´Ù¾çÇÑ µ¿Àϼº °³³äµé »çÀÌÀÇ »ó°ü°ü°è¸¦ ÀÌÇØÇ϶ó 

¾ÆÀÌÅÛ 10_ GetHashCode()ÀÇ À§Ç輺À» ÀÌÇØÇ϶ó 



CHAPTER 2_ API ¼³°è

¾ÆÀÌÅÛ 11_ API¿¡´Â º¯È¯ ¿¬»êÀÚ¸¦ ÀÛ¼ºÇÏÁö ¸»¶ó 

¾ÆÀÌÅÛ 12_ ¼±ÅÃÀû ¸Å°³º¯¼ö¸¦ »ç¿ëÇÏ¿© ¸Þ¼­µå ¿À¹ö·Îµå¸¦ ÃÖ¼ÒÈ­Ç϶ó 

¾ÆÀÌÅÛ 13_ Å¸ÀÔÀÇ °¡½Ã¼ºÀ» Á¦ÇÑÇ϶ó 

¾ÆÀÌÅÛ 14_ »ó¼Óº¸´Ù´Â ÀÎÅÍÆäÀ̽º¸¦ Á¤ÀÇÇÏ°í ±¸ÇöÇϴ °ÍÀÌ ³´´Ù 

¾ÆÀÌÅÛ 15_ ÀÎÅÍÆäÀ̽º ¸Þ¼­µå¿Í °¡»ó ¸Þ¼­µåÀÇ Â÷À̸¦ ÀÌÇØÇ϶ó 

¾ÆÀÌÅÛ 16_ »óÅ Àü´ÞÀ» À§ÇÑ À̺¥Æ® ÆÐÅÏÀ» ±¸ÇöÇ϶ó 

¾ÆÀÌÅÛ 17_ ³»ºÎ °´Ã¼¸¦ ÂüÁ¶·Î ¹ÝȯÇؼ­´Â ¾È µÈ´Ù 

¾ÆÀÌÅÛ 18_ À̺¥Æ® Çڵ鷯º¸´Ù´Â ¿À¹ö¶óÀ̵ùÀ» »ç¿ëÇ϶ó 

¾ÆÀÌÅÛ 19_ º£À̽º Å¬·¡½º¿¡ Á¤ÀǵȠ¸Þ¼­µå¸¦ ¿À¹ö·ÎµåÇؼ­´Â ¾È µÈ´Ù 

¾ÆÀÌÅÛ 20_ À̺¥Æ®°¡ ·±Å¸ÀÓ ½Ã °´Ã¼ °£ÀÇ °áÇÕµµ¸¦ Áõ°¡½ÃŲ´Ù´Â °ÍÀ» ÀÌÇØÇ϶ó 

¾ÆÀÌÅÛ 21_ À̺¥Æ®´Â °¡»óÀ¸·Î ¼±¾ðÇÏÁö ¸»¶ó 

¾ÆÀÌÅÛ 22_ ¸íÈ®ÇÏ°í °£°áÇϸ砿ϰáµÈ ¸Þ¼­µå ±×·ìÀ» »ý¼ºÇ϶ó 

¾ÆÀÌÅÛ 23_ »ý¼ºÀÚ, º¯°æÀÚ, À̺¥Æ® Çڵ鷯¸¦ À§ÇØ partial Å¬·¡½º¿Í ¸Þ¼­µå¸¦ Á¦°øÇ϶ó 

¾ÆÀÌÅÛ 24_ ¼³°è ¼±ÅÃÁö¸¦ Á¦ÇÑÇϴ ICloneableÀº »ç¿ëÀ» ÇÇÇ϶ó 

¾ÆÀÌÅÛ 25_ ¹è¿­ ¸Å°³º¯¼ö¿¡´Â params ¹è¿­¸¸ »ç¿ëÇؾߠÇÑ´Ù 

¾ÆÀÌÅÛ 26_ Áö¿ª ÇÔ¼ö¸¦ »ç¿ëÇؼ­ ¹Ýº¹ÀÚ¿Í ºñµ¿±â ¸Þ¼­µåÀÇ ¿À·ù¸¦ Áï½Ã º¸°íÇ϶ó 



CHAPTER 3 Å½ºÅ© ±â¹Ý ºñµ¿±â ÇÁ·Î±×·¡¹Ö

¾ÆÀÌÅÛ 27_ ºñµ¿±â ÀÛ¾÷¿¡´Â ºñµ¿±â ¸Þ¼­µå¸¦ »ç¿ëÇ϶ó 

¾ÆÀÌÅÛ 28_ async void ¸Þ¼­µå´Â Àý´ë ÀÛ¼ºÇÏÁö ¸»¶ó 

¾ÆÀÌÅÛ 29_ µ¿±â, ºñµ¿±â ¸Þ¼­µå¸¦ ÇÔ²² »ç¿ëÇؼ­´Â ¾È µÈ´Ù 

¾ÆÀÌÅÛ 30_ ºñµ¿±â ¸Þ¼­µå¸¦ »ç¿ëÇؼ­ ½º·¹µå »ý¼º°ú ÄÜÅؽºÆ® ÀüȯÀ» ÇÇÇ϶ó 

¾ÆÀÌÅÛ 31_ ºÒÇÊ¿äÇÑ ÄÜÅؽºÆ® ¸¶¼È¸µÀ» ÇÇÇ϶ó 

¾ÆÀÌÅÛ 32_ ºñµ¿±â ÀÛ¾÷Àº Å½ºÅ© °´Ã¼¸¦ »ç¿ëÇØ ±¸¼ºÇ϶ó 

¾ÆÀÌÅÛ 33_ Å½ºÅ© Ãë¼Ò ÇÁ·ÎÅäÄÝ ±¸ÇöÀ» °í·ÁÇ϶ó 

¾ÆÀÌÅÛ 34_ ºñµ¿±â ¸Þ¼­µåÀÇ ¹Ýȯ°ªÀ» Ä³½ÃÇϴ °æ¿ì ValueTask¸¦ »ç¿ëÇ϶ó 



CHAPTER 4 º´·Ä Ã³¸®

¾ÆÀÌÅÛ 35_ PLINQ°¡ º´·Ä ¾Ë°í¸®ÁòÀ» ±¸ÇöÇϴ ¹æ¹ýÀ» ÀÌÇØÇ϶ó 

¾ÆÀÌÅÛ 36_ ¿¹¿Ü¸¦ ¿°µÎ¿¡ µÎ°í º´·Ä ¾Ë°í¸®ÁòÀ» ¸¸µé¶ó 

¾ÆÀÌÅÛ 37_ ½º·¹µå¸¦ »ý¼ºÇÏÁö ¸»°í ½º·¹µå Ç®À» »ç¿ëÇ϶ó 

¾ÆÀÌÅÛ 38_ ½º·¹µå °£ Ä¿¹Â´ÏÄÉÀ̼ǿ¡´Â BackgroundWorker¸¦ »ç¿ëÇ϶ó 

¾ÆÀÌÅÛ 39_ XAML È¯°æ¿¡¼­ ½º·¹µå °£ È£ÃâÀ» ÀÌÇØÇ϶ó 

¾ÆÀÌÅÛ 40_ µ¿±âÈ­¿¡´Â lock()À» ÃÖ¿ì¼±À¸·Î »ç¿ëÇ϶ó 

¾ÆÀÌÅÛ 41_ ¶ôÀº °¡´ÉÇÑ ÇÑ Á¼Àº ¹üÀ§¿¡ Àû¿ëÇ϶ó 

¾ÆÀÌÅÛ 42_ Àá±ä ¿µ¿ª¿¡¼­´Â ¿ÜºÎ ÄÚµå È£ÃâÀ» »ï°¡¶ó 



CHAPTER 5 µ¿Àû ÇÁ·Î±×·¡¹Ö

¾ÆÀÌÅÛ 43_ µ¿Àû Å¸ÀÌÇÎÀÇ Àå´ÜÁ¡À» ÀÌÇØÇ϶ó 

¾ÆÀÌÅÛ 44_ Á¦³×¸¯ Å¸ÀÔ ¸Å°³º¯¼öÀÇ ·±Å¸ÀӠŸÀÔÀ» È°¿ëÇÏ·Á¸é µ¿Àû Å¸ÀÌÇÎÀ» »ç¿ëÇ϶ó 

¾ÆÀÌÅÛ 45_ µ¥ÀÌÅÍ ÁÖµµ µ¿Àû Å¸ÀÔ¿¡´Â DynamicObject³ª IDynamicMetaObjectProvider¸¦ »ç¿ëÇ϶ó 

¾ÆÀÌÅÛ 46_ Ç¥Çö½Ä APIÀÇ »ç¿ë¹ýÀ» ÀÍÇôµÎ¶ó 

¾ÆÀÌÅÛ 47_ Public API¿¡¼­´Â µ¿Àû °´Ã¼ »ç¿ëÀ» ÃÖ¼ÒÈ­Ç϶ó 



CHAPTER 6 ±Û·Î¹ú C# Ä¿¹Â´ÏƼ¿¡ Âü¿©Çϱâ

¾ÆÀÌÅÛ 48_ °¡Àå Àαâ Àִ ´äÀÌ ¾Æ´Ñ ÃÖ°íÀÇ ´äÀ» Ã£À¸¶ó 

¾ÆÀÌÅÛ 49_ ¸í¼¼¿Í ÄÚµå Çâ»ó¿¡ ±â¿©Ç϶ó 

¾ÆÀÌÅÛ 50_ ºÐ¼®±â¸¦ »ç¿ëÇؼ­ ÀÚµ¿È­ Ã³¸®¸¦ °í¹ÎÇ϶ó 

ÇÑÁÙ ¼­Æò