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Àº Çлý´ä°Ô °øºÎµµ ¿­½ÉÈ÷ Çϴ±º¿ä¡¦