Schatzi Java Online Manual & Tutorial & Lecture

 1 Overloading 
 

OverloadingÀº °°Àº À̸§ÀÇ ¿©·¯°³ÀÇ ¸Þ¼­µå¸¦ ¸»ÇÕ´Ï´Ù. º¸Åë ´ÙÁßÁ¤ÀÇ, Áߺ¹¸Þ¼­µå¶ó°í ºÎ¸£¸ç Åë»óÀûÀ¸·Î OverloadingÀ̶ó°í ÇÕ´Ï´Ù. À̰ÍÀº ÇϳªÀÇ À̸§À¸·Î ¿©·¯°³ÀÇ ÇÔ¼ö¸¦ ¸¸µç´Ù´Â ¶æÀ» ³»Æ÷Çϰí Àִµ¥ OverloadingÀº Ŭ·¡½ºÀÇ »ç¿ëÀÚ¸¦ ÆíÇÏ°Ô Çϱâ À§Çؼ­ »ç¿ëÇÏ´Â °´Ã¼ÁöÇâÀÇ ±â¹ýÀÔ´Ï´Ù.Áߺ¹¸Þ¼­µå¸¦ ¼³¸íÇÒ ¶§ µÎ ¼ö¸¦ ÇÕÇÏ´Â ¸Þ¼­µå¸¦ ¿¹¸¦ µç´Ù¸é, µÎ¼ö¸¦ ´õÇÒ ¶§ ¿ì¸®´Â ½±°Ô intÇü¸¸À» »ý°¢ÇÏ°Ô µË´Ï´Ù. Áï, µÎ °³ÀÇ »ó¼ö°ªÀÌ ´õÇØÁ®¼­ ¶Ç´Ù¸¥ »ó¼ö°ªÀ» ¸®ÅÏÇÏ´Â °ÍÀ» »ý°¢ÇÒ °ÍÀÌ´Ù. À̰ÍÀº Áö±ØÈ÷ ´ç¿¬ÇÑ ÀÏÀÔ´Ï´Ù.

ÇÏÁö¸¸ ¸Þ¼­µå¸¦ »ç¿ëÇÏ´Â »ç¿ëÀÚÀÔÀå¿¡¼­ º»´Ù´Â À̰ÍÀº ¾ÆÁÖ ºÒÆíÇÑ ÀÏÀϰÍÀÔ´Ï´Ù. Ç×»ó int¸¸À» ´õÇÑ´Ù°í »ý°¢ÇÑ´Ù¸é À̰ÍÀº ¾ÆÁÖ ºÒÆíÇϱ⠶§¹®¿¡ ÇÁ·Î±×·¡¸Ó´Â float³ª doubleÀ» ´õÇÏ´Â ÇÔ¼ö¸¦ ¸¸µé¾î µÎ´Â °ÍÀÔ´Ï´Ù. ¾ð¾îÀÇ ±âº»ÀûÀΠƯ¼º»ó µ¥ÀÌÅÍÇüÀÌ ´Ù¸£¸é ¸Þ¼­µå ¶ÇÇÑ ´Ù½Ã ¸¸µé¾î¾ß ¸Þ¼­µå°¡ Á¦´ë·Î ÀÛµ¿ÇϰÚÁÒ. À̰ÍÀ» ÇϳªÀÇ À̸§À¸·Î ÇØ°áÇÏ´Â ¹æ¹ýÀÌ ¹Ù·Î OverloadingÀÇ °³³äÀÔ´Ï´Ù. 

 

2 Áߺ¹ÇÔ¼ö(Overloading)ÀÇ ¿¹Á¦
 

/* Áߺ¹ÇÔ¼ö(Overloading):ÇÑ Å¬·¡½º³»¿¡ °°Àº À̸§ÀÇ ÇÔ¼ö°¡ ¿©·¯°³ Á¸ÀçÇÏ´Â °ÍÀ» Çã¿ë

Áߺ¹ÇÔ¼öÀÇ ±ÔÄ¢

 1. µ¥ÀÌÅÍŸÀÔÀÌ ´Þ¶ó¾ß ÇÑ´Ù.
 2. parameterÀÇ °¹¼ö°¡ ´Þ¶ó¾ß ÇÑ´Ù.
 3. parameterµéÀÇ data typeÀÌ ÃÖ¼ÒÇÑ Çϳª ÀÌ»ó ´Þ¶ó¾ß ÇÑ´Ù.

 Áï À̸»Àº Áߺ¹ÇÔ¼ö¸¦ ã¾Æ°¡´Â ¹æ¹ýÀº  ÇÔ¼öÀÇ ¸Å°³º¯¼öÀÇ °¹¼ö¿Í ÇÔ¼öÀÇ ¸Å°³º¯¼öÀÇ µ¥ÀÌÅÍ Å¸ÀÔÀ¸·Î Àڽſ¡ ¸Â´Â ÇÔ¼ö¸¦ ã¾Æ°£´Ù. À̶§ ÁÖÀÇ ÇØ¾ßÇÒ °ÍÀº ÇÔ¼öÀÇ ¸®ÅÏŸÀÔ°ú´Â »ó°üÀÌ ¾ø´Ù.  ÇÏÁö¸¸ ÇÔ¼öÀÇ À̸§Àº °°¾Æ¾ß ÇÑ´Ù.  */ 

//Overloading¿¡ ´ëÇÑ ¿¹Á¦ÀÔ´Ï´Ù.

class OverloadCalc
{
  public int plus(int a, int
b)
  {
      return
(a+b);
  }

  public float plus(float a, float b)
  {
      return
(a+b);
  }

  public double plus(float a, double b)
  {
      return
(a+b);
  }
}

public class OverloadTest
{
   public static void
main(String[] args)
   {
      OverloadCalc oc=new
OverloadCalc();
      int i=oc.plus(3,5
);
      float j=oc.plus(0.1f,0.2f);
//floatÇüÀº (.0000f)¿Í °°ÀÌ ³¡¿¡ "f"·Î ±¸ºÐÇϸç, doubleÇüÀº (.0...)À¸·Î ±¸ºÐ
      double k=oc.plus(0.5,0.7
);
      System.out.println("int="
+i);
      System.out.println("float="
+j);
      System.out.println("double="
+k);               
   }
}

 °á°úÃâ·Â

/* À§ÀÇ °á°ú´Â ´ÙÀ½°ú °°´Ù.

 int=8

 float=0.3

 double=1.2 */

 






Copyright ¨Ï 1999-2000 Schatzi. All rights reserved.
http://www.jabook.org
http://schatzi.konkuk.ac.kr