|12ÀÏÂ÷|
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();
}
}
ÄÄÆÄÀÏ
ÈÄ ½ÇÇàÇÏ¸é °á°ú´Â ¾Æ·¡¿Í °°´Ù.
C:\Java ¿¬½À\OOP>java A
class AÀÇ getInfo()
½ÇÇà
Áï, methodÀÇ À̸§ÀÌ °°´õ¶óµµ ÆĶó¹ÌÅÍÀÇ typeÀ¸·Î½á È£ÃâÇÒ method¸¦ ±¸ºÐÇÏ¿© ½ÇÇà½ÃŲ´Ù.
ÀÌ·¯ÇÑ °ÍÀ»
methodÀÇ overloadingÀ̶ó°í ÇÑ´Ù.
method¸¦ È£ÃâÇÒ ¶§ ÆĶó¹ÌÅÍ°ªÀ» ¹Ù²Ù¾î¼
½ÇÇà½ÃÄѺ¸ÀÚ.
class A {
void getInfo()
{
System.out.println("class AÀÇ getInfo() ½ance method¿Í
¸¶Âù°¡Áö·Î
overloadingµÈ instance method¶ÇÇÑ »ó¼ÓµÇ¾úÀ½"A¿¡°ÔÈ£ÃâÇÔ
");
}
}
½ÇÇà°á°ú´Â ¾Æ·¡¿Í °°´Ù.
C:\Java ¿¬½À\OOP>java
B
class AÀÇ getInfo() ½ÇÇà
A¿¡°ÔÈ£ÃâÇÔ class AÀÇ getInfo(String)
½ÇÇà
====================================================
Ŭ·¡½º°¡ ¾ò¾îÁö¸é
instance´Â ¹«¼öÈ÷ ¸¸µé¾î Áú ¼ö°¡ ÀÖ´Ù. ½ÇÁ¦·Î ¸¹Àº instance°¡ ¸¸µé¾î Áú ¶§ ¹«¼öÈ÷ ¸¸µé¾î Áö´Â °ÍÀº °¢°¢ÀÇ 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ÀÇ getInfo() ½ÇÇà
A¿¡°ÔÈ£ÃâÇÔ class AÀÇ getInfo(String) ½ÇÇà
class
AÀÇ getInfo() ½ÇÇà
B¿¡°ÔÈ£ÃâÇÔ class AÀÇ getInfo(String)
½ÇÇà
=====================================================
overloadingµÈ
method¸¦ »ó¼ÓÇÏ¿© overridingµÈ method¿¡ ´ëÇÏ¿© ¾Ë¾Æº¾½Ã´Ù.
(¸»ÀÌ ³Ê¹« Çê°¥¸®´Â±º¿ä
T.T)
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 {
void getInfo()
{
System.out.println("class BÀÇ getInfo()
½ÇÇà");
}
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ÀÇ 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()°¡ ½ÇÇàÀ̵ȴÙ.
´ÙÀ½¿¡´Â
»ó¼Ó¿¡¼ÀÇ »ý¼ºÀÚ¿¡ ´ëÇÑ ³»¿ëÀÌ ¿Ã¶ó¿Ã ¿¹Á¤ÀÔ´Ï´Ù.