12-1-1.°´Ã¼ÀÇ ÂüÁ¶

ÂüÁ¶Çü º¯¼ö´Â °ªÀ» Á÷Á¢ °¡ÁöÁö ¾Ê°í °´Ã¼°¡ ÀúÀåµÈ ÈüÀÇ À§Ä¡¸¦ °¡Áø´Ù. Human ŸÀÔÀÇ kim º¯¼ö¸¦ ¼±¾ðÇÏ°í Human °´Ã¼¸¦ »ý¼ºÇÏ¿© ´ëÀÔÇßÀ» ¶§ ¸Þ¸ð¸® ¸ð¾çÀº ´ÙÀ½°ú °°´Ù. Èü¿¡´Â age, name Çʵ尡 ÇÒ´çµÇ¾î ½ÇÁ¦ °´Ã¼°¡ »ý¼ºµÇ¸ç ½ºÅÃÀÇ kim º¯¼ö´Â °´Ã¼ÀÇ À§Ä¡¸¦ °¡¸®Å²´Ù.

À̶§ kim º¯¼öÀÇ ¼±¾ð ŸÀÔ°ú Èü¿¡ »ý¼ºµÇ¾î ÀÖ´Â ½ÇÁ¦ °´Ã¼ÀÇ Å¸ÀÔ°£ÀÇ °ü°è¸¦ ¿¬±¸ÇØ º¸ÀÚ. Àº±ÙÈ÷ º¹ÀâÇѵ¥ ÀÌ °ü°è¿¡ ´ëÇÑ È®°íÇÑ ÀÌÇØ°¡ °´Ã¼ÁöÇâÀÇ ²ÉÀÎ ´ÙÇü¼ºÀÇ ±âÃÊÀ̹ǷΠÁ¤½ÅÀ» ÁýÁßÇؼ­ ¿¬±¸ÇØ ºÁ¾ß ÇÑ´Ù. ´ÙÀ½ ¿¹Á¦´Â ¿¬±¸¸¦ À§ÇÑ °£´ÜÇÑ Å¬·¡½º °èÃþÀ» Çü¼ºÇÑ´Ù.

 

animal

½ÇÇà°á°ú

class Animal {

     void move() { System.out.println("¿Ô´Ù¸® °¬´Ù¸®"); }

}

 

class Dog extends Animal {

     void bark() { System.out.println("¸Û¸Û¸Û"); }

}

 

class Dove extends Animal {

     void fly() { System.out.println("ÆÛµæ ÆÛµæ"); }

}

 

class JavaTest {

     public static void main(String[] args) {

          // Á¿ìÀÇ Å¸ÀÔÀÌ ¸Â´Â °æ¿ì

          Animal animal = new Animal();

          animal.move();

         

          // ºÎ¸ð ŸÀÔ¿¡ ÀÚ½Ä °´Ã¼ ´ëÀÔ

          Animal dog = new Dog();

          dog.move();

          // dog.bark();

         

          // ÀÚ½Ä Å¸ÀÔ¿¡ ºÎ¸ð °´Ã¼ ´ëÀÔ

          // Dove dove = new Animal();

          // dove.fly();

     }

}

¿Ô´Ù¸® °¬´Ù¸®

¿Ô´Ù¸® °¬´Ù¸®

 

Á÷°üÀûÀÎ °èÃþ ÆľÇÀ» À§ÇØ ¸Þ¼­µå·Î¸¸ ±¸¼ºÇß´Ù. µ¿¹°Àº ½º½º·Î À̵¿ °¡´ÉÇÏ´Ï Animal Ŭ·¡½º´Â move ¸Þ¼­µå¸¦ °¡Áø´Ù. À̵¿ÇÏ´Â ±âº» µ¿ÀÛ ¿Ü¿¡ °³´Â ¢´Â µ¿ÀÛÀÌ °¡´ÉÇÏ¸ç ºñµÑ±â´Â ³¯¾Æ ´Ù´Ò ¼ö ÀÖ´Ù. Animal·ÎºÎÅÍ Dog¿Í Dove¸¦ ÆÄ»ýÇÏ¿© bark¿Í fly ¸Þ¼­µå¸¦ Ãß°¡Çß´Ù.

ÀÌ Å¬·¡½º °èÃþÀ¸·Î °´Ã¼ º¯¼ö¿Í ½ÇÁ¦ °´Ã¼°£ÀÇ °ü°è¸¦ ¿¬±¸ÇØ º¸ÀÚ. ´ÙÀ½ ´ëÀÔ¹®Àº ¸ðµÎ Áö±ØÈ÷ »ó½ÄÀûÀÌ¸ç ¾Æ¹« ÀÌ»ó ¾øÀÌ Àß ½ÇÇàµÈ´Ù.

 

Animal animal = new Animal();

Dog dog = new Dog();

Dove dove = new Dove();

 

Animal ŸÀÔÀÇ animal º¯¼ö¸¦ ¼±¾ðÇÏ°í new ¿¬»êÀÚ·Î Animal ŸÀÔÀÇ °´Ã¼¸¦ »ý¼ºÇÏ¿© ´ëÀÔÇß´Ù. Á¿캯ÀÇ Å¸ÀÔÀÌ ÀÏÄ¡ÇÏ´Ï ¾Æ¹« ¹®Á¦°¡ ¾ø´Ù. ¾Æ·¡ÀÇ µÎ ÁÙµµ ¸¶Âù°¡Áö·Î Á¿캯ÀÇ Å¸ÀÔÀÌ ÀÏÄ¡ÇÑ´Ù.

ÀÌ·¸°Ô »ý¼ºµÈ animal °´Ã¼·Î move ¸Þ¼­µå¸¦ È£ÃâÇϸé Àß ¿òÁ÷ÀδÙ. ÀÌó·³ º¯¼ö¿Í ½ÇÁ¦ °´Ã¼ÀÇ Å¸ÀÔÀÌ ÀÏÄ¡ÇÏ´Â °ÍÀÌ °¡Àå Á¤»óÀûÀÌ´Ù. ±×·¯³ª Ŭ·¡½º°£ÀÇ °ü°è´Â À̺¸´Ù º¹ÀâÇؼ­ ´ÙÀ½°ú °°Àº Áß¿äÇÑ ±ÔÄ¢ÀÌ Àû¿ëµÈ´Ù.

 

±ÔÄ¢ 1 : ºÎ¸ð ŸÀÔÀÇ ÂüÁ¶ º¯¼ö´Â ÀÚ½Ä °´Ã¼¸¦ °¡¸®Å³ ¼ö ÀÖ´Ù.

 

Á¿ìÀÇ Å¸ÀÔÀÌ ´Þ¶óµµ »ó¼Ó °ü°è¿¡ ÀÖ´Â ºÎ¸ð ŸÀÔ º¯¼ö·Î ÀÚ½Ä °´Ã¼¸¦ °¡¸®Å°´Â °ÍÀº Çã¿ëµÈ´Ù. ¿Ö³ÄÇÏ¸é ºÎ¸ð, ÀÚ½ÄÀº IS A °ü°è¿©¼­ ÀÚ½ÄÀº ºÎ¸ð°¡ ÇÒ ¼ö ÀÖ´Â ¸ðµç µ¿ÀÛÀ» ÇÒ ¼ö Àֱ⠶§¹®ÀÌ´Ù. ÀÌ·± ÀÌÀ¯·Î mainÀÇ ´ÙÀ½ ÄÚµå´Â Á¤»óÀûÀ¸·Î ÄÄÆÄÀϵȴÙ.

 

Animal dog = new Dog();

dog.move();

// dog.bark();

 

¿©±â¼­ºÎÅÍ ½½½½ Çò°¥¸®¹Ç·Î ´ëÀÔ¹®ÀÇ Á¿캯 ŸÀÔÀ» ÁÖÀDZí°Ô »ìÆ캸ÀÚ. dog´Â Animal ŸÀÔÀ¸·Î ¼±¾ðµÇ¾úÁö¸¸ Dog ŸÀÔÀÇ °´Ã¼¸¦ ´ëÀÔ¹Þ¾Ò´Ù.

Á¿캯ÀÇ Å¸ÀÔÀÌ ´Ù¸£Áö¸¸ ºÎ¸ð°¡ ÀÚ½ÄÀ» °¡¸®Å³ ¼ö ÀÖ´Ù´Â ±ÔÄ¢¿¡ ÀÇÇØ ÀÌ ´ëÀÔ¹®Àº Àû¹ýÇÑ ¹®ÀåÀ¸·Î ÄÄÆÄÀϵȴÙ. dog´Â Animal·Î ¼±¾ðµÇ¾úÁö¸¸ new Dog()·Î »ý¼ºµÈ °´Ã¼´Â ÀÚ½ÄÀ̹ǷΠ´ëÀÔ °¡´ÉÇÏ´Ù. º¯¼ö¿Í °´Ã¼ÀÇ Å¸ÀÔÀÌ ´Ù¸¦ °æ¿ì ´ÙÀ½ ±ÔÄ¢ÀÌ Àû¿ëµÈ´Ù.

 

±ÔÄ¢ 2 : È£Ãâ °¡´ÉÇÑ ¸Þ¼­µå´Â ÂüÁ¶ º¯¼öÀÇ Å¸ÀÔÀ» µû¸¥´Ù.

 

½ÇÁ¦ °¡¸®Å°´Â °´Ã¼´Â Áß¿äÇÏÁö ¾Ê°í º¯¼ö°¡ ¼±¾ðµÈ ŸÀÔ¿¡ µû¶ó È£Ãâ °¡´ÉÇÑ ¸Þ¼­µå°¡ °áÁ¤µÈ´Ù. À§ ¿¹¿¡¼­ dog´Â ½ÇÁ¦·Î´Â Dog °´Ã¼¸¦ °¡¸®Å°Áö¸¸ Animal ŸÀÔÀ̾ Animal Ŭ·¡½º¿¡ ¼±¾ðµÈ move¸¦ È£ÃâÇÒ ¼ö ÀÖ´Ù. °³´Â ÀÏÁ¾ÀÇ µ¿¹°ÀÌ´Ï ´ç¿¬È÷ À̵¿°¡´ÉÇÏ´Ù.

±×·¯³ª dog º¯¼ö·Î´Â DogÀÇ ¸Þ¼­µåÀÎ bark¸¦ È£ÃâÇÒ ¼ö ¾ø´Ù. ½ÇÁ¦·Î´Â Dog °´Ã¼¸¦ °¡¸®Å°°í ÀÖÁö¸¸ Animal ŸÀÔÀ¸·Î ¼±¾ðµÇ¾î ÄÄÆÄÀÏ·¯°¡ º¸±â¿¡´Â °³°¡ ¾Æ´Ï¶ó µ¿¹°ÀÌ´Ù. µû¶ó¼­ Animal ŸÀÔÀÇ dog·Î´Â DogÀÇ ¸Þ¼­µåÀÎ bark¸¦ È£ÃâÇÒ ¼ö ¾øÀ¸¸ç ÁÖ¼®Ã³¸®µÇ¾î ÀÖ´Ù. ¹°·Ð dog°¡ Dog ŸÀÔÀ¸·Î ¼±¾ðµÇ¾ú´Ù¸é barkµµ È£ÃâÇÒ ¼ö ÀÖ´Ù.

Animal ŸÀÔÀ¸·Î ¼±¾ðµÈ dog º¯¼ö·Î´Â Animal Ŭ·¡½º¿¡ ¼±¾ðµÈ ¸Þ¼­µå¸¸ È£ÃâÇÒ ¼ö ÀÖÀ¸¸ç µ¿¹°ÀÌ ÇÒ ¼ö ÀÖ´Â µ¿ÀÛ¸¸ °¡´ÉÇÏ´Ù. ±×·¡¼­ Animal ŸÀÔÀÇ º¯¼ö·Î Animal ÆÄ»ý Ŭ·¡½ºÀÇ °´Ã¼¸¦ ´ëÀÔ¹Þ´Â °ÍÀº Ç×»ó ¾ÈÀüÇÏ´Ù. °³µç ºñµÑ±âµç ÀÏÁ¾ÀÇ µ¿¹°ÀÌ¸ç ¾ðÁ¦³ª À̵¿ °¡´ÉÇϹǷΠAnimal ŸÀÔÀÇ º¯¼ö°¡ ÀÚ½Ä °´Ã¼¸¦ ´ëÀԹ޾Ƶµ ¹®Á¦°¡ ¾ø´Ù.

´ÙÀ½Àº ¹Ý´ëÀÇ °æ¿ì¸¦ º¸ÀÚ. mainÀÇ ³¡¿¡¼­ Dove ŸÀÔÀÇ º¯¼ö dove¸¦ ¼±¾ðÇÏ°í Animal ŸÀÔÀÇ °´Ã¼¸¦ »ý¼ºÇÏ¿© ´ëÀÔÇÏ¿´´Ù. ÀÚ½Ä Å¸ÀÔÀÇ º¯¼ö°¡ ºÎ¸ð ŸÀÔÀÇ °´Ã¼¸¦ °¡¸®Å°µµ·Ï ÇÑ °ÍÀε¥ ÀÌ´Â ¹®¹ýÀÌ Çã¶ôÇÏÁö ¾Ê´Â´Ù.

 

// Dove dove = new Animal();

// dove.fly();

 

ÀÌ ´ëÀÔÀ» Çã¶ôÇÑ´Ù¸é dove º¯¼ö·Î fly ¸Þ¼­µå¸¦ È£ÃâÇÒ ¼ö Àִµ¥ ¸ðµç µ¿¹°ÀÌ ´Ù ³¯ ¼ö ÀÖ´Â °ÍÀº ¾Æ´Ï´Ù. dove.fly() ±¸¹® ÀÚü´Â ¿¡·¯°¡ ¾Æ´ÏÁö¸¸ dove º¯¼ö°¡ ½ÇÁ¦ °¡¸®Å°´Â °´Ã¼´Â AnimalÀ̾ ³¯ ¼ö ¾øÀ¸¸ç ½ÇÇàÁß¿¡ ³í¸®Àû ¿À·ù°¡ ¹ß»ýÇÑ´Ù. ÀÚ½ÄÀÌ ÇÒ ¼ö ÀÖ´Â ¸ðµç °ÍÀ» ºÎ¸ð´Â ´Ù ÇÒ ¼ö ¾ø±â ¶§¹®¿¡ ÀÚ½Ä Å¸ÀÔÀÇ º¯¼ö·Î ºÎ¸ð °´Ã¼¸¦ °¡¸®Å°´Â °ÍÀº Çã¿ëµÇÁö ¾Ê´Â´Ù.

°£´ÜÇÑ Å¬·¡½º °èÃþÀ» ÅëÇØ ¿¬±¸ÇØ ºÃ´Âµ¥ ±×·¡µµ Çò°¥¸°´Ù. ´ÙÀ½ ±¸¹®À» ÀÏ´Ü ¿Ü¿ö µÎ°í ½Ç½ÀÀ» °è¼Ó ÁøÇàÇØ º¸ÀÚ. ºÎ¸ð ŸÀÔÀÇ º¯¼ö·Î ÀÚ½Ä °´Ã¼¸¦ °¡¸®Å³ ¼ö ÀÖÀ¸¸ç ÀÌ °æ¿ì º¯¼öÀÇ ¼±¾ð ŸÀÔ¿¡ ¸Â´Â ¸Þ¼­µå¸¸ È£ÃâÇÒ ¼ö ÀÖ´Ù.