7.3. »ó¼Ó
(°íÄ£ ³¯ : 2001-07-03)
´Ùµé ÁÖ¸» Àß º¸³»¼Ì¾î¿ä?
Àü Åä¿äÀÏ¿£ ¾Æ³»¿Í ÇÔ²² °øÂ¥·Î ¿µÈ ±¸°æÀ»
Çϰí ÀÏ¿äÀÏ¿£ Ãâ±ÙÇØ¼ Àá±ñ ÀÏÀ» Çß´ä´Ï´Ù.
Åð±ÙÇØ¼´Â À庸·¯ °¬´Ù¿Í¼ ¿À¡¾î¶û ¸ÆÁÖ¸¦
¸Ô¾ú±¸¿ä.
Á¦ °Á¸¦ ÅëÇØ °øºÎÇϽô ºÐµé Áß¿¡ Àú¸¦
Á÷Á¢ ¸¸³ ºÐÀº °ÅÀÇ ¾È °è½ÃÁÒ?
°¡²û ¾ó±¼À» ¸¶ÁÖÇÏ°í »ì¾Æ°¡´Â À̾߱⸦
³ª´ ¼ö ÀÖÀ¸¸é ÁÁ°Ú´Ù´Â »ý°¢µµ µå³×¿ä
Áö³ µÎ °Á¸¦ ÅëÇØ °´Ã¼ ÁöÇâ¿¡ ´ëÇØ
¼Ò°³ÇØ µå·È´Âµ¥, ¿©·¯ºÐÀº ¾î¶»°Ô ´À³¢¼Ì´ÂÁö¿ä.
°³³äÀûÀ¸·Î´Â ÀÌÇØ°¡ µÉ µíµµ Çѵ¥, ½ÇÁ¦·Î ÇÁ·Î±×·¥À» ÀÛ¼ºÇÒ ¶§´Â ¾î¶»°Ô Àû¿ëÇØ¾ßÇÒÁö ³°¨ÇØ ÇϽô ºÐÀÌ ¸¹Áö ¾ÊÀ»±î ÇÏ´Â »ý°¢µµ µå´Â±º¿ä.
»ç½Ç °´Ã¼ÁöÇâÀÇ °³³äÀ» Á¦´ë·Î ÀÌÇØÇϰí
Ȱ¿ëÇϱâ±îÁö´Â ½Ã°£ÀÌ Á» °É¸°´ä´Ï´Ù.
±×·¯´Ï±î ³Ê¹« °ÆÁ¤ÇÏÁö ¸¶½Ã°í õõÈ÷, ¿©·¯ ¹ø ¹Ýº¹Çؼ °øºÎÇϽñ⠹ٶø´Ï´Ù.
¾Æ¹«¸® ÁÁÀº °³³äµµ °©Àڱ⠸¹ÀÌ °øºÎÇϸé
¿ÀÈ÷·Á Çò°¥¸®±â ½±Áö¿ä.
±×·¯´Ï Á¦°¡ ¼³¸í µå¸®´Â °ÍºÎÅÍ ÇÁ·Î±×·¥¿¡
Àû¿ë½ÃÄÑ º¸¸é¼ Â÷±ÙÂ÷±Ù °øºÎÇϼÌÀ¸¸é ÇÕ´Ï´Ù.
¹°·Ð ±× ¿ÜÀÇ ºÎºÐ¿¡ ´ëÇØ¼µµ ±Ã±ÝÇϽÅ
°ÍÀº Áú¹®ÇØ Áֽñ¸¿ä.
¿À´Ã ¾Ë¾Æº¼ ³»¿ëÀº °´Ã¼ÁöÇâ ÇÁ·Î±×·¡¹ÖÀÇ
ÇÙ½ÉÀûÀÎ °³³ä °¡¿îµ¥ ÇϳªÀÎ »ó¼Ó(inheritance)ÀÔ´Ï´Ù.
»ó¼ÓÀ̶õ ¾î¶² Ŭ·¡½º°¡ ´Ù¸¥ Ŭ·¡½ºÀÇ
¼ºÁúÀ» ¹°·Á¹Þ´Â °ÍÀ» ¸»ÇÏÁö¿ä.
¾î¶² Ŭ·¡½º¸¦ ¸¸µé ¶§ óÀ½ºÎÅÍ ¸ðµç °ÍÀ»
»õ·Î ¸¸µé ÇÊ¿ä ¾øÀÌ, ÇÙ½ÉÀûÀÎ ¼ºÁúÀ» °®°í ÀÖ´Â ´Ù¸¥ Ŭ·¡½º·ÎºÎÅÍ »ó¼ÓÀ» ¹Þ¾Æ¼ Á¶±Ý¸¸ ¼ÕÀ» º¸¸é ¾µ¸¸ÇÑ Å¬·¡½º¸¦
¸¸µé ¼ö ÀÖ´ä´Ï´Ù.
¿¹Á¦¸¦ º¸½Ç±î¿ä?
|
class Person: # ´« µÎ °³, ÄÚ Çϳª, ÀÔ Çϳª... eyes = 2 nose = 1 mouth = 1 ears = 2 arms = 2 legs = 2 # ¸Ô°í ÀÚ°í À̾߱âÇϰí... def eat(self):
print '¾ä³È...' def sleep(self):
print 'ÄðÄð...' def talk(self):
print 'ÁÖÀýÁÖÀý...' |
ˤ˂
PersonÀ̶ó´Â Ŭ·¡½º´Â º¸Åë»ç¶÷À» ³ªÅ¸³½ Ŭ·¡½ºÀÔ´Ï´Ù.
´«, ÄÚ,
ÀÔ, ÆÈ´Ù¸®°¡ ´Ù ÀÖ°í, ¸Ô°í, ÀÚ°í À̾߱⵵ ÇÏÁö¿ä.
À̹ø¿¡´Â ÇлýÀ̶ó´Â Ŭ·¡½º¸¦ ¸¸µé¾î º¾½Ã´Ù.
Çлýµµ »ç¶÷ÀÌ´Ï±î »ç¶÷ÀÌ °®´Â ¿©·¯ ¼ºÁúÀ̳ª
ÇൿÀº ¸ðµÎ °®°í ÀÖÀ» °ÍÀ̰í, °Å±â¿¡ Çлý¸¸ÀÇ Æ¯Â¡À» Á» ´õ °®µµ·Ï ÇÏ¸é µÇ°ÚÁö¿ä?
ÇÏÁö¸¸,
»ç¶÷ Ŭ·¡½ºµµ ÇÑÂü °É·Á¼ ÀÔ·ÂÇߴµ¥, ¶Ç ´Ù½Ã ÇлýŬ·¡½ºÀÇ ´«, ÄÚ, ÀÔºÎÅÍ ½ÃÀÛÇØ¼ ¸ðµç °ÍÀ» »õ·Î ¸¸µé¾îÁÖ·Á¸é ³Ê¹« ±ÍÂú°Ú³×¿ä.
¹Ù·Î ÀÌ·² ¶§ ´ÙÀ½°ú °°ÀÌ »ó¼ÓÀ» ÀÌ¿ëÇϸé
¼Õ½±°Ô Çлý Ŭ·¡½º¸¦ ¸¸µé ¼ö ÀÖ´ä´Ï´Ù.
|
class
Student(Person): # Person Ŭ·¡½º¸¦ »ó¼Ó¹ÞÀ½ def study(self):
print '°øºÎ°øºÎ...' |
ˤ˂
Student Ŭ·¡½º´Â Person Ŭ·¡½º¸¦ »ó¼Ó¹Þ¾Ò½À´Ï´Ù.
¿ì¸®°¡ Student
Ŭ·¡½º¸¦ ´«, ÄÚ, ÀÔºÎÅÍ ÇϳªÇϳª ´Ù½Ã ¸¸µé¾î ÁÖÁö ¾Ê´õ¶óµµ PersonÀÇ ¼ºÁúµéÀ» ¸ðµÎ ¹°·Á¹Þ¾Æ¼ °®°Ô µÈ °ÍÀÌÁÒ.
¿ì¸®´Â ¿©±â¿¡ study¶ó´Â ¸Þ½îµå¸¸ Çϳª ´õ ½áÁÖ¾î¼ ¿ì¾ÆÇÏ°Ô ¸¶¹«¸®¸¦ Çß½À´Ï´Ù.
±»ÀÌ »ó¼ÓÀ» ¹ÞÁö¸»°í ½ºÅ©¸³Æ®¸¦ º¹»çÇØ¼
ºÙÀÌ¸é µÇÁö¾Ê´À³Ä±¸¿ä?
¹°·Ð ±×·¸°Ô ÇØµµ °¡´ÉÇÕ´Ï´Ù.
ÇÏÁö¸¸ ³ªÁß¿¡ »ç¶÷°ú Çлý Ŭ·¡½º¿¡ ¡®¿Ê
»ö±ò¡¯À̶óµçÁö, ¡®½Î¿ì´Ù¡¯ °°Àº °ÍµéÀ» Ãß°¡ÇÏ°í ½Í¾îÁø´Ù¸é, ±× ¶§¸¶´Ù »ç¶÷Ŭ·¡½º¿Í ÇлýŬ·¡½º¸¦ °¢°¢ ¼öÁ¤ÇØ¾ß µÇ°ÚÁö¿ä.

»ç¶÷°ú ÇлýÀÇ °ü°è¸¦ À§¿Í °°ÀÌ ±×¸²À¸·Î
Ç¥ÇöÇÒ ¼öµµ ÀÖ½À´Ï´Ù.
»ç°¢ÇüÀº °¢°¢ÀÇ Å¬·¡½º¸¦ ³ªÅ¸³»°í, ±× ¾È¿¡ Ŭ·¡½ºÀÇ À̸§°ú º¯¼ö, ¸Þ½îµå¸¦ Àû¾îÁÖ¾ú½À´Ï´Ù.
È»ìÇ¥´Â ¡®»ó¼Ó °ü°è¡¯¸¦ ³ªÅ¸³»±¸¿ä, ±× ¹æÇâÀº ÇÏÀ§ Ŭ·¡½º(»ó¼Ó¹ÞÀº Ŭ·¡½º)·ÎºÎÅÍ »óÀ§ Ŭ·¡½º(»ó¼ÓÇØÁØ Å¬·¡½º)¸¦ ÇâÇϰí ÀÖ½À´Ï´Ù.
ÀÌ È»ìÇ¥¸¦ µû¶ó°¡¸é¼ ¡®is a¡¯¶ó°í ÀÐÀ¸¸é µÎ Ŭ·¡½ºÀÇ °ü°è¸¦ ½±°Ô ÆÄ¾ÇÇÒ ¼ö ÀÖÁö¿ä.
¡°A
Student is a Person.(ÇлýÀº »ç¶÷ÀÌ´Ù)¡±ÀÌ µÇ´Â±º¿ä.
Ŭ·¡½º µéÀÇ °ü°è¸¦ ÀÌ·¸°Ô ±×¸²À¸·Î ±×¸®¸é
Ŭ·¡½º¸¦ ¼³°èÇϰųª ºÐ¼®ÇÒ ¶§ ÀÌÇØÇϱ⠽±´ä´Ï´Ù.
±×·³, °ú¿¬
Student Ŭ·¡½º°¡ Person Ŭ·¡½ºÀÇ ¸ðµç ¼ºÁúÀ» ¶È°°ÀÌ °®°í ÀÖ´Â °ÍÀÎÁöµµ È®ÀÎÇØ º¸µµ·Ï ÇÏÁÒ.
¸ÕÀú À§ÀÇ ¿¹Á¦µéÀ» ÆÄÀÏ·Î ÀúÀåÇØ¼ importÇϽðųª, ±×³É ÀÎÅÍÇÁ¸®ÅÍ¿¡¼ ÀÔ·ÂÇϽŠ´ÙÀ½¿¡ ¾Æ·¡¿Í °°ÀÌ Å×½ºÆ®¸¦ ÇØº¸¼¼¿ä.
|
>>> lee
= Person() >>>
lee.mouth 1 >>>
lee.talk() ÁÖÀýÁÖÀý... >>> kim
= Student() >>>
kim.mouth 1 >>>
kim.talk() ÁÖÀýÁÖÀý... |
Person Ŭ·¡½ºÀÇ
°´Ã¼ÀÎ lee¿Í Student Ŭ·¡½ºÀÇ °´Ã¼ kimÀÌ ÇÏ´Â ÁþµéÀÌ ¶È°°Áö¿ä?
Person Ŭ·¡½º·ÎºÎÅÍ
»ó¼Ó¹Þ¾Ò±â ¶§¹®¿¡ ±×·¸´Ù´Â °ÍÀ» ¾Æ½Ç ¼ö ÀÖ°ÚÁÒ?
±×·¯³ª,
»ó¼Ó ¹ÞÀº °ÍÀ¸·Î ³¡ÀÌ ¾Æ´ÏÁö¿ä¡¦
Student´Â °øºÎ¶ó´Â
ºñÀåÀÇ Ä«µåµµ °®°í ÀÖÁö ¾Ê¾Ò°Ú½À´Ï±î?
|
>>>
kim.study() °øºÎ°øºÎ... |
¿ª½Ã
kimÀº Çлý´ä°Ô °øºÎµµ ¿½ÉÈ÷ Çϴ±º¿ä¡¦