4-1-3.°¡º¯ Àμö

Àμö °³¼ö´Â ¸Þ¼­µå Á¤Àǹ®¿¡ ¼±¾ðÇÑ´ë·ÎÀÌÁö¸¸ params Å°¿öµå¸¦ »ç¿ëÇÏ¸é ¹è¿­À» Àü´ÞÇÏ¿© ÀÓÀÇ °³¼öÀÇ Àμö¸¦ Àü´ÞÇÒ ¼ö ÀÖ´Ù. ÀÌ ±â´ÉÀº ºñÁÖ¾ó º£ÀÌÁ÷¿¡¼­ µû ¿Â °ÍÀε¥ CÀÇ °¡º¯ Àμö¿Íµµ À¯»çÇÏ´Ù. ´ÙÀ½ ¿¹Á¦´Â ÀÓÀÇ °³¼öÀÇ Á¤¼ö¸¦ Àμö·Î Àü´Þ¹Þ¾Æ ÃÑÇÕÀ» ±¸ÇØ ¸®ÅÏÇÑ´Ù.

 

Params

½ÇÇà°á°ú

using System;

 

class CSTest {

     public static int AddAll(params int[] nums) {

          int sum = 0;

          for (int i = 0; i < nums.Length; i++) {

              sum += nums[i];

          }

          return sum;

     }

 

     static void Main() {

          int[] ar = { 3, 4, 5 };

          Console.WriteLine("1+2 = " + AddAll(new int[2] { 1, 2 }));

          Console.WriteLine("3+4+5 = " + AddAll(ar));

          Console.WriteLine("6+7+8+9 = " + AddAll(6, 7, 8, 9));

     }

}

1+2 = 3

3+4+5 = 12

6+7+8+9 = 30

 

¹è¿­Çü Àμö´Â ÇÑ ¸Þ¼­µå¿¡ ´Ü Çϳª¸¸ »ç¿ëÇÒ ¼ö ÀÖÀ¸¸ç ¸¶Áö¸· À§Ä¡¿¡¸¸ ¿Ã ¼ö ÀÖ´Ù. ¹è¿­Çü Àμö°¡ µÎ °³ ÀÌ»óÀ̰ųª ´Ù¸¥ ÀμöÀÇ Áß°£¿¡ ¿À¸é ¾îµð±îÁö°¡ ¹è¿­ÀÎÁö °æ°è¸¦ ±¸ºÐÇÒ ¼ö ¾ø´Ù. ¾îÂ÷ÇÇ °³¼ö¿¡ »ó°ü¾øÀÌ Àμö¸¦ Àü´ÞÇÒ ¼ö ÀÖÀ¸´Ï Á¦ÀÏ µÚ¿¡ Çϳª¸¸ ÀÖÀ¸¸é µÈ´Ù.

È£Ãâ¿øÀº ¿©·¯ °¡Áö ¹æ¹ýÀ¸·Î ½ÇÀμö¸¦ Àü´ÞÇÑ´Ù. ÁøÂ¥ ¹è¿­À» Àü´ÞÇϵ簡 ¾Æ´Ï¸é new ¿¬»êÀÚ·Î ¸¸µç Àӽà ¹è¿­À» Àü´ÞÇÒ ¼öµµ ÀÖ´Ù. ÄÞ¸¶·Î ¹è¿­ ¿ä¼Ò¸¦ ±¸ºÐÇÏ¿© ³ª¿­ÇÏ¸é ¹è¿­ ÇüÅ·ΠÆ÷ÀåÇÏ¿© Àü´ÞÇÑ´Ù. ¸Þ¼­µå´Â Àü´ÞµÈ ¹è¿­ÀÇ Length ÇÁ·ÎÆÛƼ·Î ÀμöÀÇ °³¼ö¸¦ Á¶»çÇÏ°í [ ] ¿¬»êÀÚ·Î ¹è¿­ ¿ä¼Ò¸¦ Àд´Ù.

¹è¿­ÀÇ Á¤ÀÇ»ó °°Àº ŸÀÔÀÇ Àμö¸¸ Àü´ÞÇÏ´Â °ÍÀÌ ¿øÄ¢ÀÌÁö¸¸ ¸ðµç ŸÀÔÀÇ ·çÆ®ÀÎ objectÀÇ ¹è¿­À» »ç¿ëÇϸé ÀÓÀÇ Å¸ÀÔÀÇ º¯¼ö ÁýÇÕÀ» Àü´ÞÇÒ ¼ö ÀÖ´Ù. À̶§ È£Ãâ¿ø¿¡¼­´Â is, as µîÀÇ ¿¬»êÀÚ·Î ½ÇÀμöÀÇ Å¸ÀÔÀ» Á¡°ËÇÏ¿© ó¸®ÇÑ´Ù. ÀÓÀÇ Å¸ÀÔÀÇ ¹è¿­Çü Àμö¸¦ »ç¿ëÇÏ´Â °¡Àå ÁÁÀº ¿¹´Â WriteLine ¸Þ¼­µåÀÌ´Ù.

 

public static void WriteLine ( string format, params Object[] arg );

 

¼­½Ä ¹®ÀÚ¿­°ú ÀÓÀÇ °³¼öÀÇ °´Ã¼ ¹è¿­À» ¹Þ¾Æ ¼­½ÄÀÇ °³¼ö¸¸Å­ ¹è¿­ÀÇ °¢ ¿ä¼Ò¸¦ ²¨³»°í ŸÀÔ¿¡ ¸Â°Ô Á¶¸³ÇÏ¿© ¹®ÀÚ¿­·Î Ãâ·ÂÇÑ´Ù.