|3ÀÏÂ÷|
Java¿¡¼ÀÇ °´Ã¼ÁöÇâ ÇÁ·Î±×·¡¹Ö °ÁÂ
(2)
À̹ø¿¡´Â methodÀÇ overloading¿¡ ´ëÇÏ¿© ¾Ë¾Æº¾´Ï´Ù.
class A
{
void getInfo()
{
System.out.println("class AÀÇ getInfo()
½ÇÇà");
}
void getInfo(String str)
{
System.out.println(str+" class AÀÇ
getInfo(String) ½ÇÇà");
}
public static void
main(String[] args) {
A instA
;
instA = new
A();
instA.getInfo();
}
}
ÄÄÆÄÀÏ
ÈÄ ½ÇÇàÇÏ¸é °á°ú´Â ¾Æ·¡¿Í °°´Ù.
C:\Java ¿¬½À\OOP>java A
class AÀÇ getInfo()
½ÇÇà
Áï, methodÀÇ À̸§ÀÌ °°´õ¶óµµ ÆĶó¹ÌÅÍÀÇ typeÀ¸·Î½á È£ÃâÇÒ method¸¦ ±¸ºÐÇÏ¿© ½ÇÇà½ÃŲ´Ù. ÀÌ·¯ÇÑ
°ÍÀ» methodÀÇ overloadingÀ̶ó°í ÇÑ´Ù.
method¸¦ È£ÃâÇÒ ¶§ ÆĶó¹ÌÅÍ°ªÀ» ¹Ù²Ù¾î¼
½ÇÇà½ÃÄѺ¸ÀÚ.
class A {
void getInfo()
{
System.out.println("class AÀÇ getInfo()
½ÇÇà");
}
void getInfo(String str)
{
System.out.println(str+" class AÀÇ
getInfo(String) ½ÇÇà");
}
public static void
main(String[] args) {
A instA
;
instA = new
A();
instA.getInfo("¾È³ç");
tInfo();
instB.getInfo("B¿¡°ÔÈ£ÃâÇÔ
");
}
}
½ÇÇà°á°ú´Â ¾Æ·¡¿Í °°´Ù.
C:\Java ¿¬½À\OOP>java
B
class AÀÇ getInfo() ½ÇÇà
B¿¡°ÔÈ£ÃâÇÔ class AÀÇ getInfo(String)
½ÇÇà
instance º¯¼ö¿Í instance method¿Í ¸¶Âù°¡Áö·Î overloadingµÈ instance
method¶ÇÇÑ »ó¼ÓµÇ¾úÀ½À» ?Áö´Â °ÍÀº °¢°¢ÀÇ instance¿¡ ´ëÇÑ instance member °´Ã¼ÀÇ °ª¸¸ÀÌ ¸¸µé¾îÁø´Ù. class¿¡¼
Á¤ÀÇµÈ method´Â ´Ü ÇÑ°¡Áö¸¸À¸·Î ÃæºÐÇÏ´Ù.
À§ÀÇ Äڵ忡¼ instance¸¦ Çϳª Ãß°¡ÇÑ ´ÙÀ½ Äڵ带
º¸ÀÚ.
class A {
void getInfo()
{
System.out.println("class AÀÇ getInfo()
½ÇÇà");
}
void getInfo(String str)
{
System.out.println(str+" class AÀÇ
getInfo(String) ½ÇÇà");
}
}
class B extends A
{
public static void main(String[] args)
{
A instA ;
B
instB ;
instA = new
A();
instB = new
B();
instA.getInfo();
instA.getInfo("A¿¡°ÔÈ£ÃâÇÔ
");
instB.getInfo();
instB.getInfo("B¿¡°ÔÈ£ÃâÇÔ
");
}
}
ÄÄÆÄÀÏ ÈÄ ½ÇÇà°á°ú´Â ´ÙÀ½°ú °°´Ù.
C:\Java
¿¬½À\OOP>java B
class AÀÇ get ¾Æ·¡¿Í °°´Ù.
C:\Java
¿¬½À\OOP>java B
class AÀÇ getInfo() ½ÇÇà
A¿¡°ÔÈ£ÃâÇÔ class AÀÇ
getInfo(String) ½ÇÇà
class BÀÇ getInfo() ½ÇÇà
B¿¡°ÔÈ£ÃâÇÔ class AÀÇ
getInfo(String) ½ÇÇà
class B¿¡¼ overridingµÈ
getInfo()´Â
instanceB¿¡¼ È£ÃâÇϸé class BÀÇ getInfo()°¡ ½ÇÇàÀ̵ǰí
instanceA¿¡¼
È£ÃâÇϸé class AÀÇ getInfo()°¡ ½ÇÇàÀ̵ȴÙ.
´ÙÀ½¿¡´Â Java OOP °Á 3ÆíÀÌ ¿Ã¶ó¿Ã
¿¹Á¤ÀÔ´Ï´Ù.