8-1.¸Þ¼­µå

8-1-1.¼­ºê·çƾ

ÀÚ¹Ù ÇÁ·Î±×·¥Àº Ç×»ó main ¸Þ¼­µå¿¡¼­ ½ÃÀÛÇÑ´Ù. mainÀÌ ½ÇÇà ½ÃÀÛÁ¡ÀÌ¸ç °¡»ó ¸Ó½ÅÀº mainÀ» È£ÃâÇÏ¿© ÇÁ·Î±×·¥À» ±âµ¿½ÃŲ´Ù. mainÀÌ °¡»ó ¸Ó½ÅÀ¸·ÎºÎÅÍ Á¦¾î±ÇÀ» ³Ñ°Ü ¹ÞÀ¸¸é ¿øÇÏ´Â ¸ðµç ÀÛ¾÷À» ÇÒ ¼ö ÀÖ´Ù. ±×·¯³ª È¥ÀÚ¼­ ¸ðµç °ÍÀ» ´Ù ó¸®Çϸé Áߺ¹ÀÌ ¹ß»ýÇØ È¿À²ÀÌ ¶³¾îÁø´Ù.

 

samecode

½ÇÇà°á°ú

class JavaTest {

     public static void main(String[] args) {

          int sum;

          sum = 0;

          for (int i = 1; i <= 10; i++) {

              sum += i;

          }

          System.out.println("1 ~ 10 = " + sum);

         

          sum = 0;

          for (int i = 15; i <= 100; i++) {

              sum += i;

          }

          System.out.println("15 ~ 100 = " + sum);

     }

}

1 ~ 10 = 55

15 ~ 100 = 4945

 

main¿¡¼­ 1 ~ 10ÀÇ ÇÕ°è¿Í 15 ~ 100ÀÇ Çհ踦 ±¸ÇØ Ãâ·ÂÇß´Ù. Çհ踦 ±¸ÇÏ´Â ¾Ë°í¸®ÁòÀº ¾Õ¿¡¼­ ÀÌ¹Ì ÇнÀÇØ º¸¾Ò´Ù. Àß µ¿ÀÛÇÏÁö¸¸ ºñ½ÁÇÑ Äڵ尡 ¹Ýº¹µÈ´Ù´Â Á¡¿¡¼­ ±¸Á¶°¡ ÁÁÁö ¾Ê´Ù. Çհ踦 ±¸ÇÒ ÀÏÀº ºó¹øÇѵ¥ ±×·² ¶§¸¶´Ù º¯¼ö ¼±¾ðÇÏ°í ·çÇÁ¸¦ µ¹¸ç ´©ÀûÇÕÀ» ±¸ÇÏ´Â °ÍÀº ºÐ¸í ³¶ºñ´Ù.

¶È°°Àº ÀÛ¾÷À» ÀÚ²Ù ¹Ýº¹Çϸé ÇÁ·Î±×·¥ µ¢Ä¡¸¸ Ä¿Áö°í ÀԷ¾çÀÌ ¸¹¾ÆÁ® ÇÇ°ïÇØÁø´Ù. ¾Ë°í¸®ÁòÀ» º¯°æÇÏ·Á¸é ¹Ýº¹µÈ ¸ðµç Äڵ带 ÀÏÀÏÀÌ ¼öÁ¤ÇØ¾ß ÇÏ´Ï °ü¸®Çϱ⵵ ¾î·Æ´Ù. ÀÌ·² ¶§´Â Çհ踦 ±¸ÇÏ´Â ÀÛ¾÷À» º°µµÀÇ ÄÚµå µ¢¾î¸®·Î ºÐ¸®ÇÏ´Â °ÍÀÌ ÁÁ´Ù.

 

method

½ÇÇà°á°ú

class JavaTest {

     public static void main(String[] args) {

          System.out.println("1 ~ 10 = " + calcSum(1, 10));

          System.out.println("15 ~ 100 = " + calcSum(15, 100));

     }

    

     static int calcSum(int from, int to) {

          int sum = 0;

          for (int i = from; i <= to; i++) {

              sum += i;

          }

          return sum;

     }

}

1 ~ 10 = 55

15 ~ 100 = 4945

 

Á¤¼ö ¹üÀ§ÀÇ Çհ踦 ±¸ÇÏ´Â ¸Þ¼­µå¸¦ calcSumÀ̶ó´Â À̸§À¸·Î ¼±¾ðÇÏ°í ÀÌ ¾È¿¡ ·çÇÁ¸¦ µ¹¸ç ´©ÀûÇÕÀ» ±¸ÇÏ´Â Äڵ带 ÀÛ¼ºÇß´Ù. mainÀº calcSumÀ» È£ÃâÇÏ¿© ÀÛ¾÷À» ½ÃÅ°¸ç calcSumÀº ÀÚ½ÅÀÇ ¼ÒÀÓÀ» Á¤È®È÷ ¼öÇàÇÏ¿© °á°ú¸¦ ¹ÝȯÇÑ´Ù. mainÀº ´õ ÀÌ»ó Çհ踦 ±¸ÇÏ´Â ÀÛ¾÷¿¡ ½Å°æ¾µ ÇÊ¿ä ¾øÀÌ calcSumÀ» È£ÃâÇÏ¿© ±× °á°ú¸¸ Ãâ·ÂÇÑ´Ù.

ÀÚ¹Ù ÄÄÆÄÀÏ·¯´Â ¸Þ¼­µå ¸ñ·ÏÀ» ¸ÕÀú ÆľÇÇÑ ÈÄ ÄÄÆÄÀÏÇϹǷΠ¼±¾ð ¼ø¼­´Â »ó°ü¾ø´Ù. º¯¼ö´Â »ç¿ëÇϱâ Àü¿¡ ¼±¾ðµÇ¾î ÀÖ¾î¾ß ÇÏÁö¸¸ ¸Þ¼­µå´Â ±×·¸Áö ¾Ê´Ù. À§ ¿¹Á¦´Â ¾ÕÂÊÀÇ mainÀÌ µÚÂÊ¿¡ ¼±¾ðµÈ calcSumÀ» È£ÃâÇÏÁö¸¸ Àß ÄÄÆÄÀϵȴÙ. »ç¿ëÇϱâ Àü¿¡ ÇÔ¼öÀÇ ¿øÇüÀ» ¹àÇô¾ß ÇÏ´Â C ¾ð¾î¿¡ ºñÇØ Æí¸®ÇÑ ÀåÁ¡ÀÌ´Ù.

Çհ踦 ±¸ÇÏ´Â ÄÚµå ¿Ü¿¡ Æò±ÕÀ» ±¸ÇÏ´Â ±â´É, °è»ê °á°ú¸¦ º¸±â ÁÁ°Ô Ãâ·ÂÇÏ´Â ±â´Éµµ ¼±¾ðÇØ µÎ¸é ÇÊ¿äÇÒ ¶§ »ç¿ëÇÒ ¼ö ÀÖ´Ù. Àü¹®ÀûÀÎ ÀÛ¾÷À» Àü´ãÇÏ´Â ºÎÇÏ ¸Þ¼­µå¸¦ Àß Á¤ÀÇÇØ µÎ¸é mainÀº ¸Þ¼­µå¸¸ È£ÃâÇÏ¿© ÀÛ¾÷À» ½Ãų ¼ö ÀÖ´Ù. ´ÙÀ½ ¿¹Á¦´Â ¿ùº° ³¯Â¥¼ö¸¦ ±¸ÇÏ´Â ¸Þ¼­µå¸¦ Á¤ÀÇÇÑ´Ù.

 

getdays

class JavaTest {

     public static void main(String[] args) {

          int year = 2016;

          int month = 2;

         

          int days = getMonthDays(year, month);

          System.out.println(year + "³â " + month + "¿ùÀº " + days + "ÀϱîÁö ÀÖ½À´Ï´Ù.");

     }

    

     static int getMonthDays(int year, int month) {

          int[] arDays = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };

         

          if (month == 2) {

              if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {

                   return 29;

              }

              return 28;

          } else {

              return arDays[month];

          }

     }

}

½ÇÇà°á°ú

2016³â 2¿ùÀº 29ÀϱîÁö ÀÖ½À´Ï´Ù.

 

getMonthDays ¸Þ¼­µå´Â ¾ÕÀå¿¡¼­ ½Ç½ÀÇß´ø ·è¾÷ Å×À̺íÀ» È°¿ëÇÏ¿© ¹è¿­·ÎºÎÅÍ ³¯Â¥¼ö¸¦ ±¸ÇÑ´Ù. ´Ü, 2¿ùÀÇ °æ¿ì ³âµµ¿¡ µû¶ó À±³â 󸮰¡ °ñÄ¡ ¾Æǵ¥ 4ÀÇ ¹è¼ö´Â À±³âÀÌ°í 100ÀÇ ¹è¼ö´Â À±³âÀÌ ¾Æ´Ï¸ç 400ÀÇ ¹è¼ö´Â ¶Ç À±³âÀÌ´Ù. ÀÌ·± º¹ÀâÇÑ °è»êÀ» ¸Þ¼­µå·Î ¼±¾ðÇØ ³õÀ¸¸é È£ÃâÇÏ´Â ÂÊÀº ³âµµ¿Í ¿ù¸¸ Àü´ÞÇÏ¿© ³¯Â¥¼ö¸¦ Á¤È®ÇÏ°í ½±°Ô ±¸ÇÒ ¼ö ÀÖ´Ù.

ƯÁ¤ ±â´ÉÀ» Àü´ãÇÏ´Â ÄÚµå µ¢¾î¸®¸¦ ¼­ºê·çƾ(Sub Routine)À̶ó°í ÇÑ´Ù. ÁÖ ½ÇÇà È帧À» °üÀåÇÏ´Â mainÀÇ º¸Á¶ ¿ªÇÒÀ» ¼öÇàÇÑ´Ù´Â ¶æÀÌ´Ù. ¾ð¾î¿¡ µû¶ó ¸íĪÀÌ ´Ù¸¥µ¥ C´Â ÇÔ¼ö¶ó°í ºÎ¸£°í ÆĽºÄ®Àº ÇÁ·Î½ÃÀú¶ó ÇÏ¸ç °´Ã¼ÁöÇâ ¾ð¾îÀÎ ÀÚ¹Ù¿¡¼­´Â ¸Þ¼­µå¶ó°í ºÎ¸¥´Ù. ¸Þ¼­µå´Â Ŭ·¡½º¿¡ ¼Ò¼ÓµÈ ¼­ºê·çƾÀ̶ó´Â ¶æÀÌµÇ ÇÔ¼ö¿Í °ÅÀÇ °°Àº ÀǹÌÀÌ´Ù. ¸Þ¼­µå¸¦ »ç¿ëÇÏ¸é ´ÙÀ½°ú °°Àº ÀÌÁ¡ÀÌ »ý±ä´Ù.

 

l Áߺ¹À» Á¦°ÅÇÏ¿© ¼Ò½º°¡ ª¾ÆÁö°í °á°ú ÇÁ·Î±×·¥µµ ÀÛ¾ÆÁø´Ù. Çհ踦 ¸î ¹ø ±¸Çϵç calcSum ¸Þ¼­µå´Â Çϳª¹Û¿¡ ¾ø´Ù.

l Äڵ尡 ÇÑ °÷¿¡ ÀÖ¾î °ü¸®Çϱ⠽±´Ù. ¾Ë°í¸®ÁòÀ̳ª ¿ä±¸ »çÇ×ÀÌ ¹Ù²î´õ¶óµµ È£Ãâ¿øÀº ±×´ë·Î µÎ°í ¸Þ¼­µå¸¸ ¼öÁ¤ÇÏ¸é µÈ´Ù.

l ¸Þ¼­µåÀÇ ÇüÅ·ΠÁ¤ÇüÈ­µÇ¾î Àç»ç¿ëÇϱ⠽±´Ù. ³²ÀÌ ¸¸µç Äڵ嵵 °¡Á®¿Í È£Ã⸸ ÇÏ¸é µÈ´Ù. ÀÌ¹Ì ¿Ï¼ºµÈ ÀÛÀº ±â´ÉÀ» Á¶¸³ÇÏ¿© º¹ÀâÇÑ ÇÁ·Î±×·¥À» ½±°Ô ¿Ï¼ºÇÒ ¼ö ÀÖ´Ù.

l »ó¼¼ÇÑ ¾Ë°í¸®ÁòÀ» ĸ½¶È­ÇÑ´Ù. À±³â ±ÔÄ¢À» ¸ô¶óµµ getMonthDays¸¸ È£ÃâÇϸé Á¤È®ÇÑ ³¯Â¥¼ö¸¦ ±¸ÇÒ ¼ö ÀÖ¾î °³¹ßÀÚ´Â °í¼öÁØÀÇ ³í¸® ±¸Çö¿¡ ÁýÁßÇÒ ¼ö ÀÖ´Ù.

 

±¸Á¶Àû ÇÁ·Î±×·¡¹Ö ±â¹ý¿¡¼­ ÇÔ¼ö´Â ÇÁ·Î±×·¥ÀÇ ÀÛ¾÷ ´ÜÀ§¸¦ ºÐÇÒÇÏ´Â ºÎÇ° ¿ªÇÒÀ» ÇÑ´Ù. ÀÛ¾÷À» Àü´ãÇÏ´Â ÇÔ¼ö¸¦ Àß ±¸ºñÇØ ³õ°í ºÎÇ°À» Á¶¸³ÇÏ¿© ÇÁ·Î±×·¥À» ¿Ï¼ºÇÏ´Â ½ÄÀÌ´Ù. °´Ã¼ÁöÇâ ±â¹ý¿¡¼­´Â ¸Þ¼­µå°¡ Ŭ·¡½ºÀÇ ºÎÇ°À¸·Î °ÝÇϵǾúÁö¸¸ Ŭ·¡½ºÀÇ µ¿ÀÛÀ» ³í¸®ÀûÀ¸·Î ºÐÇÒÇÏ´Â ¿ªÇÒÀ» ´ã´çÇÑ´Ù´Â ¸é¿¡¼­ ºñ½ÁÇÑ ¿ªÇÒÀ» ÇÑ´Ù.

¸Þ¼­µåÀÇ ÀÛ¼º ¹®¹ýÀ» ÀÍÈ÷´Â °ÍÀº ¾î·ÆÁö ¾Ê´Ù. ±×·¯³ª ÇÁ·Î±×·¥ÀÇ ±â´ÉÀ» ³í¸®ÀûÀÎ ¸Þ¼­µå·Î ºÐÇÒÇÏ°í ÀûÀçÀû¼Ò¿¡ Á¦´ë·Î È°¿ëÇÏ´Â °ÍÀº °áÄÚ ½¬¿î ÀÏÀÌ ¾Æ´Ï´Ù. °Å´ëÇÑ ÀÛ¾÷À» ÇÔ¼ö·Î ³ª´©¾î ¿ªÇÒÀ» ºÐ´ãÇÏ°í ¿¡·¯¿¡ Àß ´ëóÇÏ¿© Àç»ç¿ëÇϱ⠽±µµ·Ï ¸¸µé¾î¾ß ÇÑ´Ù. ´ÙÀ½Àº ¸Þ¼­µå¸¦ ±¸¼ºÇÏ´Â ±âº» ¿øÄ¢ÀÌ´Ù.

 

l µÎ ¹ø ÀÌ»ó ¹Ýº¹µÇ´Â ÄÚµå´Â ¸Þ¼­µå·Î ºÐ¸®ÇÑ´Ù.

l ÇÑ ¹ø¿¡ ÇϳªÀÇ Àϸ¸ ÇÑ´Ù.

l ÀÛ¾÷ ´ÜÀ§¸¦ °¡±ÞÀû Àß°Ô ÂÉ°µ´Ù.

l Á÷°üÀûÀÌ°í ÁÁÀº À̸§À» ºÙÀδÙ.

 

¸Þ¼­µå ÀÛ¼º ¿øÄ¢Àº Áö½ÄÀÌ ¾Æ´Ñ ±â¼úÀ̾ ¹è¿ö¼­ ¹Ù·Î Å͵æÇÒ ¼ö ¾øÀ¸¸ç ¼ö¸¹Àº ½ÃÇàÂø¿À¿Í °æÇèÀ» ¿ä±¸ÇÑ´Ù. ¿¹Á¦ ¼öÁØ¿¡¼­´Â ¸Þ¼­µåÀÇ À§·ÂÀ» ´À³¢±â ¾î·Á¿ì¸ç ÀÏÁ¤ ±Ô¸ð ÀÌ»óÀÌ µÇ¾î¾ß ¸Þ¼­µåÀÇ ½Ç¿ë¼ºÀ» ´À³¥ ¼ö ÀÖ´Ù. »ó±â ¿øÄ¢ÀÌ ´çÀå ¿Í ´êÁö ¾Ê°ÚÁö¸¸ °´Ã¼ÁöÇâ ȯ°æ¿¡¼­µµ ÀÛ¾÷ ´ÜÀ§¸¦ Àß ³ª´©´Â °ÍÀº ²À ÇÊ¿äÇÑ ±â¼úÀ̹ǷΠ²ÙÁØÈ÷ ¿¬½ÀÇÒ ÇÊ¿ä°¡ ÀÖ´Ù.

8-1-2.¸Þ¼­µå

´ÙÀ½ Àå¿¡¼­ Ŭ·¡½º¸¦ º»°ÝÀûÀ¸·Î °øºÎÇϱâ Àü¿¡ ¸Þ¼­µåºÎÅÍ ¿¬±¸ÇØ º¸ÀÚ. ¸Þ¼­µå´Â Ŭ·¡½º¸¦ ±¸¼ºÇÏ´Â ÇÑ ¿ä¼ÒÀÌÁö¸¸ ±× ÀÚü¸¸ Çصµ ¾Ë¾Æ¾ß ÇÒ °ÍÀÌ ¸¹°í Ŭ·¡½º¿Í ÇÔ²² °øºÎÇϱ⿡´Â ºÎÇÇ°¡ ³Ê¹« Ä¿ ¹Ì¸® ¿¬±¸ÇØ º¸´Â °ÍÀÌ ÁÁ´Ù. ¸Þ¼­µå¸¦ ¼±¾ðÇÏ´Â ±âº» Çü½ÄÀº ´ÙÀ½°ú °°´Ù.

 

[ÁöÁ¤ÀÚ] ¸®ÅÏŸÀÔ ¸Þ¼­µå¸í(Àμö ¸ñ·Ï) {

º»Ã¼ : ½ÇÇàÇÒ ÄÚµå

return ¹Ýȯ°ª;

}

 

l ¸Þ¼­µå¸í : ¸Þ¼­µå¸¦ ĪÇÏ´Â À̸§ÀÌ´Ù. ¸íĪ ±ÔÄ¢¿¡ ¸Â°Ô ºÙÀÌµÇ ±â´ÉÀ» Àß ¼³¸íÇÏ´Â À̸§ÀÌ ÁÁ´Ù. ¸Þ¼­µå´Â µ¿ÀÛÀ» ÇϹǷΠcalc, get µîÀÇ µ¿»ç·Î ½ÃÀÛÇÏ°í ¸ñÀû¾î°¡ µû¶ó¿À´Â Çü½ÄÀÌ Á÷°üÀûÀÌ´Ù. calcSumÀº À̸§¸¸ ºÁµµ Çհ踦 °è»êÇÑ´Ù´Â °ÍÀ» ¾Ë ¼ö ÀÖ´Ù.

l ¸®ÅÏ Å¸ÀÔ : ½ÇÇà ÈÄ È£Ãâ¿ø¿¡ µ¹·ÁÁÙ °ªÀ» ÁöÁ¤ÇÑ´Ù. calcSumÀº Á¤¼öÇüÀÇ Çհ踦 ¸®ÅÏÇϹǷΠint·Î ¸®ÅÏ Å¸ÀÔÀ» ¸í½ÃÇß´Ù. ¸®ÅÏ°ªÀÌ ¾ø´Â ¸Þ¼­µå´Â void¶ó°í Àû´Â´Ù.

l Àμö ¸ñ·Ï : È£Ãâ¿øÀ¸·ÎºÎÅÍ Àü´Þ¹Þ´Â ÀÛ¾÷ Áö½Ã »çÇ×ÀÌ´Ù. °³¼ö Á¦ÇÑÀº ¾øÀ¸¸ç ÇÊ¿äÇѸ¸Å­ ÄÞ¸¶·Î ±¸ºÐÇÏ¿© ³ª¿­ÇÑ´Ù. Àμö°¡ ¾øÀ¸¸é ºó °ýÈ£¸¸ Àû´Â´Ù. calcSum ¸Þ¼­µå´Â Çհ踦 ±¸ÇÒ ¹üÀ§ÀÇ ½ÃÀÛ°ª°ú ³¡°ªÀ» from, to Àμö·Î Àü´Þ¹Þ¾Ò´Ù.

l º»Ã¼ : ¸Þ¼­µå°¡ ½ÇÇàÇÒ ÄÚµåÀÌ¸ç ¿©±â¼­ ÀÛ¾÷À» ó¸®ÇÑ´Ù. ÇÊ¿äÇÑ Áö¿ªº¯¼ö¸¦ ¼±¾ðÇÒ ¼ö ÀÖ°í ÀÔÃâ·Â¹®, Á¶°Ç¹®, ¹Ýº¹¹® µî ¸ðµç ÀÚ¹Ù Äڵ带 »ç¿ëÇÒ ¼ö ÀÖ´Ù. È£Ãâ¿øÀ¸·Î °ªÀ» ¹ÝȯÇÒ ¶§´Â return ¸í·ÉÀ» »ç¿ëÇÑ´Ù.

l ÁöÁ¤ÀÚ : ¸Þ¼­µåÀÇ ¼Ó¼ºÀ» ÁöÁ¤ÇÏ´Â ¿©·¯ °¡Áö ¼ö½Ä¾î°¡ ¿Â´Ù. ¿ÜºÎ °ø°³ ¿©ºÎ, °´Ã¼¿ÍÀÇ °ü·Ã¼º µîÀ» ÁöÁ¤ÇÑ´Ù.

 

ÀÚ¹Ù´Â ¸ðµç ¸Þ¼­µå¸¦ Ŭ·¡½º ³»¿¡ ÀÛ¼ºÇϸç Ȧ·Î Á¸ÀçÇÏ´Â Àü¿ª ÇÔ¼ö¸¦ Áö¿øÇÏÁö ¾Ê´Â´Ù. ¾ÆÁ÷ Ŭ·¡½º¸¦ ¹è¿ì±â ÀüÀ̶ó ÀÌ Àå¿¡¼­´Â static ÁöÁ¤ÀÚ¸¦ ºÙ¿© µ¶¸³ÀûÀÎ ¸Þ¼­µå·Î ½Ç½ÀÀ» ÁøÇàÇÑ´Ù. ´çÀå ÀÌÇصÇÁö ¾Ê´õ¶óµµ ¸Þ¼­µå ÀÚü¸¸ ¿¬±¸ÇØ º¸±â À§ÇØ static Å°¿öµå°¡ ÇÊ¿äÇÏ´Ù°í »ý°¢ÇÏ¸é µÈ´Ù. mainµµ °°Àº ÀÌÀ¯·Î staticÀÌ´Ù.

µ¿ÀÛÀ» ±â¼úÇÏ´Â ¸Þ¼­µå´Â °ªÀ» ÀúÀåÇÏ´Â º¯¼ö¿¡ ºñÇØ ÈξÀ º¹ÀâÇÑ ¹°°ÇÀ̾ ¼±¾ðÇϴµ¥ ¸¹Àº ¿ä¼Ò°¡ ÇÊ¿äÇÏ´Ù. calcSum ¸Þ¼­µåÀÇ ¼±¾ð Çü½ÄÀ» ºÐ¼®ÇØ º¸ÀÚ. °£´ÜÇÑ µ¿ÀÛÀ» ó¸®ÇÏÁö¸¸ ¸Þ¼­µå ¼±¾ð¿¡ ÇÊ¿äÇÑ ¸ðµç ¿ä¼Ò°¡ °ñ°í·ç ´Ù Æ÷ÇԵǾî ÀÖ´Ù.

¸Þ¼­µå À̸§Àº Çհ踦 °è»êÇÑ´Ù´Â Àǹ̷ΠcalcSumÀ¸·Î ºÙ¿´À¸¸ç ´ë»ó ¹üÀ§¸¦ from, to Àμö·Î Àü´Þ¹Þ´Â´Ù. º»Ã¼¿¡¼­ from ~ to ¹üÀ§¿¡ ´ëÇØ ·çÇÁ¸¦ µ¹¸ç Çհ踦 ±¸ÇÏ°í Á¤¼öÇüÀÇ Çհ踦 ¸®ÅÏÇÑ´Ù. ¸Þ¼­µå¸¦ È£ÃâÇÒ ¶§´Â ´ÙÀ½ ±¸¹®À» »ç¿ëÇÑ´Ù.

 

¸Þ¼­µå¸í(Àμö)

 

À̸§À¸·Î ¸Þ¼­µå¸¦ È£ÃâÇÏ¸ç ¸Þ¼­µå¿¡°Ô ½Ãų ÀÛ¾÷°Å¸®¸¦ °ýÈ£ ¾È¿¡ Àμö·Î Àü´ÞÇÑ´Ù. ¾Õ ¿¹Á¦¿¡¼­´Â ´ÙÀ½ Çü½ÄÀ¸·Î calcSum ¸Þ¼­µå¸¦ È£ÃâÇß´Ù.

 

calcSum(1, 10)               // 1 ~ 10±îÁöÀÇ Çհ踦 ±¸Ç϶ó

calcSum(15, 100)      // 15 ~ 100±îÁöÀÇ Çհ踦 ±¸Ç϶ó

 

È£Ã⸸ Çϸé Àμö°¡ ÁöÁ¤ÇÏ´Â ¹üÀ§ÀÇ Çհ踦 ±¸ÇØ ¸®ÅÏÇÑ´Ù. Çհ踦 ±¸ÇÏ´Â ¹æ¹ýÀº ½Å°æ¾µ ÇÊ¿ä ¾øÀÌ ¿øÇÏ´Â ¹üÀ§¿Í ÇÔ²² calcSum¸¸ È£ÃâÇÏ¸é µÈ´Ù. Áߺ¹ÀÌ Á¦°ÅµÇ¾ú°í Àç»ç¿ëÇϱ⠽¬¿ì¸ç ¾Ë°í¸®ÁòÀ» ÈǸ¢È÷ ĸ½¶È­ÇÏ°í ÀÖ´Ù.

8-1-3.Àμö

Àμö´Â È£Ãâ¿ø¿¡¼­ ¸Þ¼­µå·Î Àü´ÞÇÏ´Â ÀÛ¾÷ Áö½Ã »çÇ×ÀÌ´Ù. calcSum ¸Þ¼­µå¸¦ È£ÃâÇÏ·Á¸é Çհ踦 ±¸ÇÒ ¹üÀ§¸¦ ¹àÇô¾ß Çϴµ¥ ÀÌ Á¤º¸¸¦ from, to Àμö·Î Àü´ÞÇÑ´Ù. Àü´ÞÇÏ´Â Àμö¿¡ µû¶ó ½ÇÇà °á°ú°¡ ´Þ¶óÁö¸ç ÇϳªÀÇ ¸Þ¼­µå¸¦ ´Ù¾çÇÏ°Ô È°¿ëÇÒ ¼ö ÀÖ´Ù.

¸Þ¼­µå ¼±¾ð¹®ÀÇ Àμö¸¦ Çü½Ä Àμö(Parameter)¶ó Çϸç È£Ãâ¿øÀÌ Àü´ÞÇÑ °ªÀ» ´ëÀÔ¹Þ¾Æ º»Ã¼¿¡¼­ ÂüÁ¶ÇÒ ¶§ »ç¿ëÇÑ´Ù. È£ÃâÇÒ ¶§¸¶´Ù Çü½Ä Àμö °ªÀº ¸Å¹ø ¹Ù²ï´Ù. calcSum ¸Þ¼­µå´Â ÇÕ°èÀÇ ¹üÀ§¸¦ from, to Çü½Ä Àμö·Î ¹Þ°í º»Ã¼¿¡¼­ ÀÌ µÎ Àμö·Î ·çÇÁ¸¦ µ¹¸°´Ù.

È£Ãâ¿øÀÌ ¸Þ¼­µå·Î Àü´ÞÇÏ´Â °ªÀ» ½ÇÀμö(Argument)¶ó ÇÑ´Ù. È£Ãâ °úÁ¤¿¡¼­ ½ÇÀμö°¡ Çü½Ä Àμö¿¡ ´ëÀÔµÇ¾î ¸Þ¼­µå ³»ºÎ¿¡¼­ »ç¿ëµÈ´Ù. ¿¹Á¦ÀÇ Ã¹ ÁÙ¿¡¼­ 1°ú 10À» Àü´ÞÇߴµ¥ ½ÇÀμö 1ÀÌ Çü½ÄÀμö from¿¡ ´ëÀԵǰí, ½ÇÀμö 10ÀÌ Çü½ÄÀμö to¿¡ ´ëÀԵȴÙ. µÎ ¹ø° ÁÙ¿¡¼­ °¢°¢ 15¿Í 100À» Àü´ÞÇß´Ù.

Çü½ÄÀμö´Â È£Ãâ °úÁ¤¿¡¼­ ½ÇÀμö°ªÀ» ´ëÀÔ¹Þ¾Æ º»Ã¼¿¡¼­ ÀÓ½ÃÀûÀ¸·Î »ç¿ëÇÏ´Â ÀÏÁ¾ÀÇ Áö¿ªº¯¼ö´Ù. µû¶ó¼­ À̸§Àº ¾Æ¹«·¸°Ô³ª Áö¾îµµ »ó°ü¾ø´Ù. calcSum ¸Þ¼­µå¸¦ ´ÙÀ½°ú °°ÀÌ ÀÛ¼ºÇصµ Àß µ¿ÀÛÇÑ´Ù. Çü½Ä ÀμöÀÇ À̸§À» ¹Ù²Ù°í º»Ã¼¿¡¼­ ÂüÁ¶ÇÏ´Â ¸íĪÀ» °°ÀÌ ¹Ù²Ù¸é µÈ´Ù.

 

static int calcSum(int dog, int cow) {

     int sum = 0;

     for (int i = dog; i <= cow; i++) {

          sum += i;

     }

     return sum;

}

 

´Ù¸¥ º¯¼ö¿Í °ãÄ¡Áö ¾Ê°í ¸íĪ ±ÔÄ¢¿¡ Àû¹ýÇÏ´Ù¸é °³³ª ¼Ò³ª ¾Æ¹«°Å¶óµµ »ó°ü¾ø´Ù. ±×·¯³ª °¡±ÞÀû ÀμöÀÇ Àǹ̸¦ Àß ¼³¸íÇÒ ¼ö ÀÖ´Â Á÷°üÀûÀÎ À̸§À» ºÙ¿©¾ß Á¦ 3 ÀÚ°¡ ºÁµµ ±Ý¹æ ÀÌÇØÇÒ ¼ö ÀÖ´Ù. dog, cow º¸´Ù´Â ¾Æ¹«·¡µµ from, toÀÇ Àǹ̰¡ ´õ ¸íÈ®ÇÏ°í Á÷°üÀûÀÌ´Ù.

ÀμöÀÇ °³¼ö³ª ŸÀÔ¿¡´Â Á¦¾àÀÌ ¾ø´Ù. ÀÏÁ¾ÀÇ Áö¿ªº¯¼ö¿©¼­ ÇÊ¿äÇѸ¸Å­ ¼±¾ðÇÏ¸é µÈ´Ù. ÀÛ¾÷ Áö½Ã »çÇ×ÀÌ ¸¹´Ù¸é ¾ó¸¶µçÁö ¸¹Àº Àμö¸¦ Àü´ÞÇÒ ¼ö ÀÖ°í º°µµÀÇ Áö½Ã »çÇ×ÀÌ ¾ø´Ù¸é Àμö°¡ ¾ø¾îµµ ¹«¹æÇÏ´Ù. Àμö°¡ ¾øÀ» ¶§´Â ¼±¾ð¹®¿¡ ºó °ýÈ£¸¸ Àû´Â´Ù.

 

noarg

½ÇÇà°á°ú

class JavaTest {

     public static void main(String[] args) {

          System.out.println("¿À´ÃÀº " + getDate() + "ÀÏÀÔ´Ï´Ù.");

     }

    

     static int getDate() {

          java.time.LocalDate today = java.time.LocalDate.now();

          int day = today.getDayOfMonth();

          return day;

     }

}

¿À´ÃÀº 4ÀÏÀÔ´Ï´Ù.

 

ÀÌ ¿¹Á¦ÀÇ getDate ¸Þ¼­µå´Â ¿À´ÃÀÌ ¸çÄ¥ÀÎÁö Á¶»çÇØ ¸®ÅÏÇÑ´Ù. ³¯Â¥ °´Ã¼·ÎºÎÅÍ ÇöÀç ³¯Â¥¸¦ Á¶»çÇÏ°í ±× Áß ÀÏ(day) ¿ä¼Ò¸¸ ÃßÃâÇÏ´Â µ¿ÀÛÀ» Çϴµ¥ ÀÌ ÀÛ¾÷À» º°µµÀÇ ¸Þ¼­µå·Î Á¤ÀÇÇÏ¿´´Ù. ³¯Â¥¸¦ Á¶»çÇÏ´Â getDate ¸Þ¼­µåÀÇ º»Ã¼ ÄÚµå´Â ´ÙÀ½¿¡ ¿¬±¸ÇØ º¼ °ÍÀ̹ǷΠ´çÀå ¸ô¶óµµ »ó°ü¾ø´Ù.

¿À´Ã ³¯Â¥¸¦ ±¸Çϴµ¥ Ưº°ÇÑ ¼±Åà »çÇ×À̳ª ¿É¼ÇÀÌ ¾øÀ¸´Ï Àμö´Â ºÒÇÊ¿äÇÏ´Ù. º°µµÀÇ Áö½Ã »çÇ×¾øÀÌ È£Ã⸸ ÇÏ¸é ¾Ë¾Æ¼­ µ¿ÀÛÇÑ´Ù. Àμö¸¦ ÃëÇÏÁö ¾Ê´Â ¸Þ¼­µå¶óµµ È£ÃâÇÒ ¶§´Â getDate() ½ÄÀ¸·Î ¹Ýµå½Ã ºó °ýÈ£¸¦ Àû¾î¾ß ÇÑ´Ù. ±×³É getDate¶ó°í ÀûÀ¸¸é ¸Þ¼­µåÀÎÁö º¯¼öÀÎÁö ±¸ºÐµÇÁö ¾Ê¾Æ ¸Þ¼­µå È£Ãâ¹®ÀÓÀ» ºÐ¸íÈ÷ Çϱâ À§ÇØ ºó °ýÈ£¸¦ ºÙÀδÙ.

8-1-4.¸®ÅÏ°ª

Àμö°¡ È£Ãâ¿ø¿¡¼­ ¸Þ¼­µå·Î Àü´ÞÇÏ´Â ÀÛ¾÷ Áö½Ã »çÇ×À̶ó¸é ¸®ÅÏ°ªÀº ¸Þ¼­µå°¡ ÀÛ¾÷ °á°ú¸¦ È£Ãâ¿øÀ¸·Î µ¹·ÁÁÖ´Â °á°ú°ªÀÌ´Ù. ¸Þ¼­µåÀÇ ÀÔÀå¿¡¼­ Àμö´Â ÀÔ·ÂÀÌ°í ¸®ÅÏÀº Ãâ·ÂÀÌ´Ù. ¸Þ¼­µå´Â Àμö·Î Àü´Þ¹ÞÀº ÀÛ¾÷ Áö½Ã »çÇ×À» Âɹ°µü°Å·Á È£Ãâ¿øÀÌ ¿ä±¸ÇÑ °á°ú¸¦ ¸®ÅÏ°ªÀ¸·Î µ¹·ÁÁØ´Ù.

¸Þ¼­µå°¡ ¸®ÅÏÇÏ´Â °ªÀÇ Å¸ÀÔÀº ¼±¾ðºÎ¿¡ ¸í½ÃµÇ¾î ÀÖ´Ù. int ŸÀÔÀ» ¸®ÅÏÇÏ´Â calcSumÀº Á¤¼öÇüÀÇ sum°ªÀ» ¸®ÅÏÇÑ´Ù. ¶Ç´Â int¿Í ȣȯµÇ´Â byte³ª short ŸÀÔÀ» ¸®ÅÏÇصµ »ó°ü¾ø´Ù. Á¤¼ö¸¦ ¸®ÅÏÇϱâ·Î ÇØ ³õ°í ½Ç¼ö³ª ¹®ÀÚ¿­À» ¸®ÅÏÇÏ¸é °è¾à À§¹ÝÀÌ¸ç ¿¡·¯ 󸮵ȴÙ.

 

int calcSum(int from, int to) {

     ....

     return 1.5;             // ¿¡·¯

}

 

int calcSum(int from, int to) {

     ....

     return "total";         // ¿¡·¯

}

 

¸Þ¼­µåÀÇ ¸®ÅÏ°ªÀº ŸÀÔÀÌ Á¤ÇØÁ® ÀÖ°í µü ÇϳªÀÇ °ª¸¸ ¹ÝȯÇÑ´Ù. ±×·¡¼­ ¸Þ¼­µå È£Ãâ¹® ÀÚü°¡ ÇϳªÀÇ °ªÀ̸ç ÀÌ·± °ªÀÌ ÇÊ¿äÇÑ ¸ðµç °÷¿¡ ¾î¿ï¸°´Ù. calcSumÀÌ Á¤¼öÇü°ªÀ» ¸®ÅÏÇϹǷΠcalcSum È£Ãâ¹®ÀÌ °ð int ŸÀÔÀÇ °ªÀÌ¸ç µû¶ó¼­ Á¤¼ö°ªÀ» ¿ä±¸ÇÏ´Â ¸ðµç °÷¿¡¼­ ÀÌ ¸Þ¼­µå¸¦ È£ÃâÇÒ ¼ö ÀÖ´Ù.

 

int a = calcSum(1, 10);

int b = 3 * 5 + calcSum(5, 8);

if (c == calcSum(10, 20))

println(calcSum(1, 100))

 

Á¤¼öÇü º¯¼öÀÇ ´ëÀÔ¹® ¿ìº¯¿¡ ¿Ã ¼ö ÀÖ°í ¼ö½Ä ³»ºÎ¿¡ »ç¿ëÇÒ ¼ö ÀÖÀ¸¸ç Á¶°Ç¹®¿¡¼­ Á¤¼öÇü º¯¼ö¿Í ºñ±³ÇÒ ¼öµµ ÀÖ´Ù. Á¤¼öÇü Àμö¸¦ ¿ä±¸ÇÏ´Â ´Ù¸¥ ¸Þ¼­µåÀÇ Àμö ¸ñ·Ï¿¡µµ ¿Ã ¼ö Àִµ¥ ¾Õ¼­ println ¸Þ¼­µåÀÇ Àμö¿­¿¡ calcSum È£Ãâ¹®À» ³Ö¾î Çհ踦 Ãâ·ÂÇØ º¸¾Ò´Ù.

¸Þ¼­µåÀÇ ÀÛ¾÷ °á°ú¸¦ ¹ÝȯÇÒ ¶§´Â return¹®À» »ç¿ëÇÏ¸ç µÚÂÊ¿¡ È£Ãâ¿øÀ¸·Î µ¹·ÁÁÙ °ªÀ» Àû´Â´Ù. calcSum ¸Þ¼­µå´Â ·çÇÁ¿¡¼­ ±¸ÇÑ ÇÕ°èÀÎ sumÀ» ¸®ÅÏÇÑ´Ù.

 

return sum;

 

ÃÖÁ¾ ¿¬»ê °á°ú¸¦ µ¹·ÁÁÖ´Â ¹®ÀåÀ̾ ¸Þ¼­µåÀÇ ¸¶Áö¸·¿¡ ¿À´Â °ÍÀÌ º¸ÅëÀÌ´Ù. ÇÏÁö¸¸ ¿¡·¯°¡ ¹ß»ýÇ߰ųª ÀÛ¾÷À» ´õ °è¼ÓÇÒ ÇÊ¿ä°¡ ¾øÀ» ¶§´Â Áß°£¿¡ ¸®ÅÏÇÒ ¼öµµ ÀÖ´Ù. ´Ù¸¥ »ç¶÷ÀÌ ¸¸µç ¸Þ¼­µå¸¦ ¹Ì¼÷ÇÑ °³¹ßÀÚ°¡ À߸ø ÀÌÇØÇÏ¿© ¾û¶×ÇÑ Àμö¸¦ Àü´ÞÇÒ °¡´É¼ºÀÌ ÀÖ´Ù. È£Ãâ¿ø¿¡¼­ À߸øµÈ Àμö¸¦ Àü´ÞÇÏ´õ¶óµµ ¸Þ¼­µå´Â ¹æ¾î Äڵ带 ÀÛ¼ºÇÏ¿© ¿Àµ¿ÀÛÀ» ¹æÁöÇØ¾ß ÇÑ´Ù.

 

errorreturn

½ÇÇà°á°ú

class JavaTest {

     public static void main(String[] args) {

          System.out.println("1 ~ 10 = " + calcSum(1, 10));

          System.out.println("15 ~ 100 = " + calcSum(15, -100));

     }

    

     static int calcSum(int from, int to) {

          if (from > to) {

              return 0;

          }

          int sum = 0;

          for (int i = from; i <= to; i++) {

              sum += i;

          }

          return sum;

     }

}

1 ~ 10 = 55

15 ~ 100 = 0

 

calcSum ¸Þ¼­µå°¡ from ~ to ¹üÀ§ÀÇ Á¤¼öÇÕÀ» Á¦´ë·Î ±¸ÇÏ·Á¸é ¹üÀ§°¡ À¯È¿ÇØ¾ß ÇÑ´Ù. ¾û¶×ÇÑ ¹üÀ§¸¦ Àü´ÞÇϸé Àǹ̾ø´Â ¿¬»êÀ» Çϰųª Áö³ªÄ¡°Ô ±ä ·çÇÁ¸¦ ½ÇÇàÇÒ À§ÇèÀÌ ÀÖ´Ù. ±×·¡¼­ calcSumÀº ¿¬»êÀ» ½ÃÀÛÇϱâ Àü¿¡ ¹üÀ§ÀÇ À¯È¿¼ºÀ» Á¡°ËÇÏ¿© fromÀÌ toº¸´Ù ´õ Å©¸é ÇÕ°è »êÃâÀ» Æ÷±âÇÏ°í 0À» ¸®ÅÏÇÑ´Ù.

À̶§ 0Àº ÇÕ°è°¡ ¾Æ´Ï¶ó ¹º°¡ À߸ø µÇ¾ú´Ù´Â ½ÅÈ£ÀÌ´Ù. 0 ´ë½Å -1 °°Àº ¿¡·¯ Äڵ带 ¸®ÅÏÇÒ ¼öµµ ÀÖ°í ¿¹¿Ü ó¸® ±¸¹®À» ¾µ ¼öµµ ÀÖ´Ù. ¸Þ¼­µå Áß°£¿¡ return¹®À» ¸¸³ª¸é ¸Þ¼­µå ½ÇÇàÀ» Áï½Ã Á¾·áÇϸç return¹® µÚÂÊÀÇ ÄÚµå´Â ¹«½ÃµÈ´Ù. Àμö°¡ À߸ø µÇ¾úÀ¸´Ï ·çÇÁ°í ¹¹°í µ¹ ÇÊ¿ä°¡ ¾ø´Ù.

calcSum ¸Þ¼­µå´Â µ¿ÀÛÀÌ ´Ü¼øÇØ ¾û¶×ÇÑ Àμö°¡ Àü´ÞµÇµµ Å« À§ÇèÀº ¾øÁö¸¸ ¾î¶² ¸Þ¼­µå´Â À߸øµÈ Àμö·Î ÀÎÇØ ½É°¢ÇÑ ¿¹¿Ü¸¦ ÀÏÀ¸Å³ ¼öµµ ÀÖ´Ù. ¿¹¸¦ µé¾î ³ª´©´Â ¼ö°¡ 0À̶óµç°¡ ÂüÁ¶Çü º¯¼ö°¡ nullÀ̶ó¸é ¿¡·¯°¡ ¹ß»ýÇϴµ¥ ÀÌ·± »óȲÀ» ¹Ì¿¬¿¡ ¹æÁöÇØ¾ß ÇÑ´Ù. ¿¡·¯ °¡´É¼ºÀÌ ÀÖ´Â »óȲÀÌ¸é ½ÇÇàÀ» Áï½Ã ÁßÁöÇÏ°í È£Ãâ¿øÀ¸·Î ¿¡·¯°ªÀ» ¸®ÅÏÇÏ¿© º¸°íÇÑ´Ù.

È£Ãâ¿øÀ¸·Î µüÈ÷ ¹ÝȯÇÒ °ªÀÌ ¾ø´Â ¸Þ¼­µåµµ ÀÖ´Ù. È£ÃâµÇ¸é ¸ðÁ¾ÀÇ ÀÛ¾÷À» ÇÒ »Ó º¸°íÇÒ »çÇ×ÀÌ ¾ø´Â °æ¿ìÀÌ´Ù. ÀÌ·± ¸Þ¼­µå´Â ¼±¾ð¹®ÀÇ ¸®ÅÏ Å¸ÀÔÀ» void¶ó°í Àû¾î ¸®ÅÏÇÒ °ªÀÌ ¾øÀ½À» ºÐ¸íÈ÷ Ç¥½ÃÇÑ´Ù.

 

void

½ÇÇà°á°ú

class JavaTest {

     public static void main(String[] args) {

          printSum(1, 10);

          printSum(15, 100);

     }

    

     static void printSum(int from, int to) {

          int sum = 0;

          for (int i = from; i <= to; i++) {

              sum += i;

          }

          System.out.println(from +" ~ " + to + " = " + sum);

     }

}

1 ~ 10 = 55

15 ~ 100 = 4945

 

ÀÌ ¿¹Á¦ÀÇ printSum ¸Þ¼­µå´Â Àμö·Î Àü´ÞµÈ ¹üÀ§ÀÇ Çհ踦 ±¸ÇØ È­¸é¿¡ Ãâ·ÂÇÑ´Ù. °è»êÇÑ Çհ踦 ¸Þ¼­µå ³»ºÎ¿¡¼­ Ãâ·Â±îÁö ´Ù ÇØ ¹ö¸®´Ï ¹ÝȯÇÒ °ªÀÌ ¾ø´Ù. ±×·¡¼­ ¼±¾ðºÎÀÇ ¸®ÅÏ Å¸ÀÔÀÌ void¶ó°í µÇ¾î ÀÖÀ¸¸ç º»Ã¼¿¡ reutrn¹®ÀÌ ¾ø´Ù.

¸¸¾à ¿¡·¯ 󸮸¦ À§ÇØ Áß°£¿¡ Á¾·áÇØ¾ß ÇÑ´Ù¸é ÀÌ ¶§´Â ¸®ÅÏ°ª ¾øÀÌ ´Üµ¶À¸·Î return;À̶ó°í ¾´´Ù. voidÇü ¸Þ¼­µå´Â ŸÀÔÀÌ ¾øÀ¸¹Ç·Î ´Üµ¶À¸·Î¸¸ È£ÃâÇÒ ¼ö ÀÖÀ¸¸ç ¼ö½Ä ³»¿¡¼­ È£ÃâÇÒ ¼ö´Â ¾ø´Ù. ´ÙÀ½°ú °°ÀÌ È£ÃâÇÏ¸é ¿¡·¯ÀÌ´Ù.

 

int a = 3 + printSum(1, 10);

 

printSum(1, 10) È£Ãâ¹®Àº ³»ºÎ¿¡¼­ µ¿ÀÛÀ» ó¸®ÇÒ »Ó ŸÀÔµµ ¾ø°í °ªÀ» ¸®ÅÏÇÏÁöµµ ¾Ê¾Æ µ¡¼ÀÀÇ ÇÇ¿¬»êÀÚ·Î ¾µ ¼ö ¾ø´Ù. ¹Ýµå½Ã ´Üµ¶À¸·Î¸¸ È£ÃâÇØ¾ß ÇÑ´Ù. ÀÌ¿¡ ºñÇØ ¸®ÅÏ°ªÀÌ ÀÖ´Â ¸Þ¼­µå´Â ¼ö½Ä³»¿¡¼­ È£ÃâÇÒ ¼öµµ ÀÖ°í ´Üµ¶À¸·Î È£ÃâÇÒ ¼öµµ ÀÖ´Ù. ´ÙÀ½ ¹®ÀåÀº Àû¹ýÇÏ´Ù.

 

calcSum(1, 10);

 

ÀÌ·¸°Ô ÇÏ¸é °á°ú¸¦ ¹ö¸± »Ó µ¿ÀÛ¿¡´Â ÀÌ»ó ¾ø´Ù. ¹°·Ð ¸®ÅÏ°ªÀ» ¹ÞÁö ¾Ê¾Ò°í ¾²Áöµµ ¾ÊÀ¸´Ï ¾µµ¥¾ø´Â È£ÃâÀÎ ¼ÀÀÌ´Ù. ¸®ÅÏ°ªÀ» ²À ¹Þ¾Æ¾ß ÇÒ Àǹ«´Â ¾ø°í ÇÊ¿äÇÒ ¶§¸¸ ¹ÞÀ¸¸é µÈ´Ù. ¿¡·¯ Äڵ峪 ¿¬»ê ÈÄÀÇ Âü°í »çÇ× µî Áß¿äÇÏÁö ¾ÊÀº Á¤º¸¸¦ ¸®ÅÏÇÏ´Â ¸Þ¼­µå´Â ¸®ÅÏ°ªÀ» ¹ÞÁö ¾Ê°í ¹ö¸®±âµµ ÇÑ´Ù.

8-1-5.¸Þ¼­µå Á¦ÀÛ

¸Þ¼­µå¸¦ ±¸¼ºÇÏ´Â ¸ðµç ¿ä¼Ò¸¦ ´Ù ÀÍÇûÀ¸´Ï ¿©±â¼­´Â °£´ÜÇÏ°Ô³ª¸¶ ¸Þ¼­µå¸¦ Á¦ÀÛÇÏ´Â ½Ç½ÀÀ» ÇØ º¸ÀÚ. ÀÌ ½Ç½ÀÀº ±âÁ¸ÀÇ Äڵ带 Á¶Á÷È­ÇÏ°í Àç»ç¿ëÇϱ⠽±µµ·Ï Æ÷ÀåÇÏ´Â ¿¬½ÀÀÌ´Ù. °á°ú¸¸ º¸Áö ¸»°í Á÷Á¢ ¸Þ¼­µå¸¦ ¸¸µé¾î °¡¸ç Á¦ÀÛ ÀýÂ÷¸¦ ÀÍÈ÷°í °³·® ¹× ÀÀ¿ëµµ ÇØ º¸ÀÚ.

¾Õ¿¡¼­ ·çÇÁ ½Ç½ÀÀ» Çϸç * ¹®ÀÚ·Î »ï°¢ÇüÀ» ±×¸®´Â ¸î °¡Áö ½Ç½ÀÀ» ÇØ º¸¾Ò´Ù. °°Àº ¹®ÀÚ¸¦ ¿©·¯ °³ ³ª¿­ÇÒ ÀÏÀÌ ÀÚÁÖ Àִµ¥ ÀÌ·± Äڵ带 ¸Þ¼­µå·Î ¸¸µé¾î µÎ¸é Àç»ç¿ëÇϱ⠽±´Ù. triangle ¿¹Á¦¸¦ º¯ÇüÇÏ¿© ÀÏÁ¤ °³¼öÀÇ * ¹®ÀÚ¸¦ Âï´Â ¸Þ¼­µå¸¦ ¸¸µé¾î º¸ÀÚ.

 

outstar

½ÇÇà°á°ú

class JavaTest {

     public static void main(String[] args) {

          for (int i = 1; i <= 10; i++) {

              outStars(i);

              System.out.println();

          }

     }

    

     static void outStars(int num) {

          for (int i = 0;i < num;i++) {

              System.out.print('*');

          }

     }

}

*

**

***

****

*****

******

*******

********

*********

**********

 

¿©·¯ °³ÀÇ º°À» Ãâ·ÂÇÏ´Â µ¿ÀÛÀ» ÇϹǷΠ¸Þ¼­µå À̸§Àº outStars·Î ºÙ¿´´Ù. Ãâ·ÂÇÒ º°ÀÇ °³¼ö¸¦ num Àμö·Î ¹Þ¾Æ À̸¸Å­ ·çÇÁ¸¦ µ¹¸ç º°À» Âï´Â´Ù. º°¸¸ ÂïÀ¸¸é µÉ »Ó È£Ãâ¿øÀ¸·Î º¸°íÇÒ °ÍÀº ¾øÀ¸´Ï ¸®ÅÏ Å¸ÀÔÀº voidÀÌ´Ù.

¸Þ¼­µå¸¦ Àß ¸¸µé¾î ³õÀ¸¸é main ÇÔ¼öÀÇ ºÎ´ãÀÌ ÁÙ¾îµç´Ù. º° ¿©·¯ °³¸¦ Âï´Â ·çÇÁ°¡ outStars ¾ÈÀ¸·Î À̵¿ÇßÀ¸¹Ç·Î main ÇÔ¼ö´Â ÀÌÁß ·çÇÁ¸¦ µ¹¸± ÇÊ¿ä ¾øÀÌ 1¿¡¼­ 10±îÁö i ·çÇÁ¸¸ µ¹¸®¸ç outStars(i)¸¦ È£ÃâÇÏ°í °³Çุ ÇÏ¸é µÈ´Ù. ÀÌÁß ·çÇÁÀÇ ¾ÈÂÊ Äڵ尡 ¸Þ¼­µå ¾ÈÀ¸·Î ¿Å°ÜÁ³À» »Ó triangle ¿¹Á¦¿Í µ¿ÀÛÀº »ç½Ç»ó °°´Ù.

ÀÌ ¸Þ¼­µå¸¦ È°¿ëÇÏ¿© Á¿찡 µÚÁýÈù triangle2 ¿¹Á¦µµ ´Ù½Ã ÀÛ¼ºÇØ º¸ÀÚ. ÀÌ ¿¹Á¦´Â º°»Ó¸¸ ¾Æ´Ï¶ó °ø¹éµµ Ãâ·ÂÇϴµ¥ outStars´Â ÇöÀç º°¸¸ Ãâ·ÂÇÒ ¼ö ÀÖ´Ù. Ãâ·ÂÇÒ ´ë»óÀ» Àμö·Î ¹ÞÀ¸¸é ÀÓÀÇÀÇ ¹®ÀÚ¸¦ Ãâ·ÂÇÒ ¼ö ÀÖ¾î È°¿ë¼ºÀÌ ³ô¾ÆÁø´Ù. ÀÌÁ¦ º°¸¸ Ãâ·ÂÇÏ´Â °ÍÀÌ ¾Æ´Ï¾î¼­ ¸Þ¼­µå À̸§µµ outChars·Î º¯°æÇß´Ù.

 

outchars

½ÇÇà°á°ú

class JavaTest {

     public static void main(String[] args) {

          for (int i = 1; i <= 10; i++) {

              outChars(' ', 10 -i);

              outChars('*', i);

              System.out.println();

          }

     }

    

     static void outChars(char ch, int num) {

          for (int i = 0;i < num;i++) {

              System.out.print(ch);

          }

     }  

}

         *

        **

       ***

      ****

     *****

    ******

   *******

  ********

 *********

**********

 

outChars ¸Þ¼­µå´Â ch ¹®ÀÚ num°³¸¦ Ãâ·ÂÇÏ´Â ÀÓ¹«¸¦ ¶í´Ù. ÀÓÀÇÀÇ ¹®ÀÚ¸¦ ¿øÇÏ´Â °³¼ö¸¸Å­ Ãâ·ÂÇÏ´Â ¸Þ¼­µå°¡ ¿Ï¼ºµÇ¾úÀ¸´Ï mainÀº ¸Þ¼­µå¸¸ È£ÃâÇÏ¸é µÈ´Ù. i ·çÇÁ¸¦ µ¹¸ç 10-i°³ÀÇ °ø¹é°ú i°³ÀÇ º°À» Âï°í °³ÇàÇϸé Á¿찡 µÚÁýÈù »ï°¢ÇüÀÌ ±×·ÁÁø´Ù.

ÀÌ ¿¹¿¡¼­ º¸´Ù½ÃÇÇ Àμö°¡ ¸¹À¸¸é ¸Þ¼­µåÀÇ È°¿ë¼ºÀÌ Áõ°¡ÇÑ´Ù. º°¸¸ Ãâ·ÂÇÏ´Â outStars ¸Þ¼­µåº¸´Ù´Â ÀÓÀÇÀÇ ¹®ÀÚ¸¦ Ãâ·ÂÇÏ´Â outCharsÀÇ È°¿ë¼ºÀÌ ´õ ³ô´Ù. À̹ø¿¡´Â ´Ù Ãâ·ÂÇÑ ÈÄ °³ÇàÇÏ´Â ±â´É±îÁö outChars¿¡ ÅëÇÕÇØ º¸ÀÚ. °³ÇàÀÌ ÇÊ¿äÇÑ °æ¿ì°¡ ÀÖ°í ¾Æ´Ñ °æ¿ìµµ ÀÖÀ¸´Ï ÁøÀ§ÇüÀÇ newline Àμö¸¦ ¹Þ°í ÀÌ Àμö°¡ trueÀÏ ¶§¸¸ °³ÇàÇÏ¸é µÈ´Ù.

 

outcharsnewline

½ÇÇà°á°ú

class JavaTest {

     public static void main(String[] args) {

          for (int i = 1; i <= 10; i++) {

              outChars(' ', 10 -i, false);

              outChars('*', i, true);

          }

     }

    

     static void outChars(char ch, int num, boolean newline) {

          for (int i = 0;i < num;i++) {

              System.out.print(ch);

          }

          if (newline) {

              System.out.println();

          }

     }  

}

         *

        **

       ***

      ****

     *****

    ******

   *******

  ********

 *********

**********

 

newline Àμö¿¡ µû¶ó °³ÇàÀ» ÅëÁ¦ÇÒ ¼ö ÀÖ¾î outCharsÀÇ È°¿ë¼ºÀÌ Çâ»óµÇ¾úÀ¸¸ç mainÀÇ ºÎ´ãÀÌ ´õ¿í ÁÙ¾îµé¾ú´Ù. ´Ù¸¸ È£ÃâÇÒ ¶§¸¶´Ù ¼¼ °³ÀÇ Àμö¸¦ ÀÏÀÏÀÌ Àü´ÞÇÏ´Â °ÍÀÌ ºÎ´ã½º·¯¿ï ¼öµµ Àִµ¥ print, println ¸Þ¼­µå ½Öó·³ °³Çà ¿©ºÎ¿¡ µû¶ó º°µµÀÇ ¸Þ¼­µå¸¦ ¸¸µé ¼öµµ ÀÖ´Ù.

 

outcharsln

½ÇÇà°á°ú

class JavaTest {

     public static void main(String[] args) {

          for (int i = 1; i <= 10; i++) {

              outChars(' ', 10 -i);

              outCharsln('*', i);

          }

     }

    

     static void outChars(char ch, int num) {

          for (int i = 0;i < num;i++) {

              System.out.print(ch);

          }

     }

    

     static void outCharsln(char ch, int num) {

          outChars(ch, num);

          System.out.println();      

     }  

}

         *

        **

       ***

      ****

     *****

    ******

   *******

  ********

 *********

**********

 

outCharslnÀÌ ¹®ÀÚ¸¦ Á÷Á¢ Ãâ·ÂÇÒ ÇÊ¿ä´Â ¾ø°í outChars¸¦ È£ÃâÇÏ¿© ¹®ÀÚ Ãâ·ÂÀ» ó¸®ÇÏ°í °³Çุ Ãß°¡ÇÏ¸é µÈ´Ù. mainÀº µÎ °³ÀÇ Àμö¸¸ Àü´ÞÇ쵂 °³Çà ¿©ºÎ¿¡ µû¶ó È£ÃâÇÒ ¸Þ¼­µå¸¦ ¼±ÅÃÇÑ´Ù. ¶È°°Àº ±â´ÉÀ» Á¦°øÇÏ´Â ¸Þ¼­µå ÁýÇÕÀ» ¼³°èÇÏ´Â ¹æ½Äµµ ¿©·¯ °¡Áö°¡ ÀÖ´Ù.

ÀÏ·ÃÀÇ ¹®ÀÚ¸¦ Ãâ·ÂÇÏ´Â ±â´ÉÀ» ºÎÇÏ ¸Þ¼­µå°¡ ó¸®ÇØ ÁÖ´Ï mainÀÇ ³í¸®°¡ ´õ¿í ´Ü¼øÇØÁ³À¸¸ç ÀÀ¿ëÇϱ⵵ ½±´Ù. À§ ¿¹Á¦¿¡¼­ outCharsln È£Ãâ¹®ÀÇ num Àμö¸¸ ¹Ù²Ù¸é À̵ »ï°¢ÇüÀÌ ±×·ÁÁø´Ù.

 

public static void main(String[] args) {

     for (int i = 1; i <= 10; i++) {

          outChars(' ', 10 -i);

          outCharsln('*', i * 2 - 1);

     }

}

 

¾Æ¹«¸® ´Ü¼øÇØ º¸ÀÌ´Â ¸Þ¼­µåµµ Àß ±¸ºñÇØ ³õÀ¸¸é ¹é¹æÀ¸·Î È°¿ëÇÒ ¼ö ÀÖ´Ù. outChars ¸Þ¼­µå¸¦ È°¿ëÇÏ¿© ¹Ú½º ¾È¿¡ ¹®ÀÚ¿­À» Ãâ·ÂÇÏ´Â ±â´ÉÀ» ÀÛ¼ºÇØ º¸ÀÚ.

 

boxmessage

½ÇÇà°á°ú

class JavaTest {

     public static void main(String[] args) {

          outCharsln('-', 5 + 4);

          System.out.println("| Hello |");

          outCharsln('-', 5 + 4);

         

          outCharsln('-', 14 + 4);

          System.out.println("| Congratulation |");

          outCharsln('-', 14 + 4);

     }

    

     static void outChars(char ch, int num) {

          for (int i = 0;i < num;i++) {

              System.out.print(ch);

          }

     }

    

     static void outCharsln(char ch, int num) {

          outChars(ch, num);

          System.out.println();      

     }  

}

---------

| Hello |

---------

------------------

| Congratulation |

------------------

 

Ãâ·ÂÇÒ ¹®ÀÚ¿­ÀÇ ¾çÂÊ¿¡ | ¼öÁ÷¼±°ú °ø¹éÀ» Ãâ·ÂÇÏ°í À§ ¾Æ·¡·Î - ÁÙÀ» °¨½Î¸é ¹Ú½º ¾È¿¡ ¹®ÀÚ¿­ÀÌ Ãâ·ÂµÈ´Ù. 5 ±ÛÀÚÀÇ HelloÀ» Ãâ·ÂÇÏ·Á¸é Á¿ìÀÇ °ø¹é°ú ¼öÁ÷¼±ÀÇ Æø±îÁö ÇÕÃÄ 9±ÛÀÚ ±æÀÌ·Î - ¹®ÀÚ¸¦ Ãâ·ÂÇØ¾ß ¿ÂÀüÈ÷ ´ÝÈù ¹Ú½º°¡ µÈ´Ù.

ÀÌ·¸°Ô Äڵ带 ¸¸µé¾î ³õ°í º¸´Ï Hello ¹Ú½º¸¦ Ãâ·ÂÇÏ´Â ÄÚµå¿Í Congratulation ¹Ú½º¸¦ Ãâ·ÂÇÏ´Â Äڵ尡 Áߺ¹µÊÀ» ¾Ë ¼ö ÀÖ´Ù. ÀÌ·¸°Ô Áߺ¹µÇ´Â ÄÚµå´Â °è¼Ó Áߺ¹µÉ È®·üÀÌ ³ôÀ¸´Ï ¶Ç ¸Þ¼­µå·Î ¸¸µé¾î µÐ´Ù.

 

outbox

½ÇÇà°á°ú

class JavaTest {

     public static void main(String[] args) {

          outBox("Hello");

          outBox("Congratulation");

          outBox("Good Morning");

         

     }

    

     static void outBox(String message) {

          outCharsln('-', message.length() + 4);

          System.out.println("| " + message + " |");

          outCharsln('-', message.length() + 4);

     }

    

     static void outChars(char ch, int num) {

          for (int i = 0;i < num;i++) {

              System.out.print(ch);

          }

     }

    

     static void outCharsln(char ch, int num) {

          outChars(ch, num);

          System.out.println();      

     }  

}

---------

| Hello |

---------

------------------

| Congratulation |

------------------

----------------

| Good Morning |

----------------

 

¸Þ¼­µå À̸§Àº outBox·Î Á¤ÇÏ°í Àμö·Î Ãâ·ÂÇÒ ¹®ÀÚ¿­À» Àü´Þ¹Þ´Â´Ù. À§ ¾Æ·¡ ÁÙÀº ¹®ÀÚ¿­ÀÇ length ¸Þ¼­µå·Î ±æÀ̸¦ ±¸ÇÑ ÈÄ 4¸¸Å­ ´õÇØ ±ß´Â´Ù. Ãâ·ÂÇÒ ¸Þ½ÃÁöÀÇ ±æÀÌ¿¡ ¸Â°Ô ¹Ú½ºÀÇ Å©±â¸¦ °è»êÇÏ´Â °Íµµ outBox°¡ ´Ù ¾Ë¾Æ¼­ ó¸®ÇÏ´Ï mainÀº ¸Þ½ÃÁö ¹®ÀÚ¿­¸¸ Àü´ÞÇÏ¸é µÈ´Ù.

¸Þ¼­µå°¡ ¾Ë°í¸®ÁòÀ» ĸ½¶È­ÇÏ´Ï È°¿ëÇϱ⠽±°í ÇÊ¿äÇÏ´Ù¸é ´Ù¸¥ ÇÁ·ÎÁ§Æ®·Î °¡Á®°¡ Àç»ç¿ëÇÒ ¼öµµ ÀÖ´Ù. °³¹ßÀÚ´Â ¹Ú½º¸¦ ¾î¶»°Ô Ãâ·ÂÇÒ °ÍÀΰ¡´Â ´õ ÀÌ»ó ½Å°æ¾µ ÇÊ¿ä ¾øÀÌ ¾î¶² ¸Þ½ÃÁö¸¦ Ãâ·ÂÇÒ °ÍÀΰ¡¸¸ »ý°¢ÇÏ¸é µÈ´Ù. ÇÔ¼ö°¡ ÇÁ·Î±×·¥ÀÇ ºÎÇ°À̶ó´Â ¸»ÀÌ ÀÌÇØµÉ °ÍÀÌ´Ù.