7.1. Ŭ·¡½º¿Í °´Ã¼

(°íÄ£ ³¯ : 2001-07-02)

 

¸ðµÎµé ¾È³çÇϼ¼¿ä~.

¹ú½á ÁÖ¸»ÀÌ µ¹¾Æ¿Ô±º¿ä. ÇÏ´Â Àϵµ ¾ø´Âµ¥ ¿Ö À̸® ÁÖ¸»ÀÌ ¹Ý°¡¿îÁö¡¦

 

¿À´ÃºÎÅÍ ¾Ë¾Æº¼ °ÍÀº °´Ã¼ÁöÇâÀ̶ó´Â ÇÁ·Î±×·¡¹Ö ¹æ¹ýÀ» ÆÄÀ̽㿡¼­´Â ¾î¶»°Ô ÇÒ ¼ö Àִ°¡¿¡ ´ëÇØ¼­ÀÔ´Ï´Ù.

°´Ã¼ÁöÇâÀ̶ó´Â °ÍÀº ÇÁ·Î±×·¥À» ÀÛ¼ºÇÒ ¶§ Á» ´õ »ç¶÷ÀÌ »ý°¢ÇÏ´Â ¹æ½Ä¿¡ °¡±õ°Ô ÇÒ ¼ö ÀÖµµ·Ï µµ¿ÍÁÖ´Â ¹æ¹ýÀÌÁö¿ä.

 

±âÁ¸ÀÇ ÇÁ·Î±×·¡¹Ö ¹æ¹ý¿¡¼­´Â ÇÁ·Î±×·¥ÀÌ ¾î¶² ÀÏÀ» ÇÏ°í³ª¼­, ±× ´ÙÀ½¿£ ¾î¶² ÀÏÀ» Çϰí, ¶Ç ±× ´ÙÀ½¿£ ¹» Ç϶ó´Â ½ÄÀ¸·Î ÄÄÇ»ÅͰ¡ ÇØ¾ß ÇÒ ÀÏÀ» ¾Ë·ÁÁֱ⿡ ¹Ù»¦½À´Ï´Ù.

±×·±µ¥, °´Ã¼ÁöÇâ ÇÁ·Î±×·¡¹Ö¿¡¼­´Â ÇÁ·Î±×·¥À» ÀÛ¼ºÇÒ ´ë»óÀÌ µÇ´Â ½ÇÁ¦ ¼¼°èÀÇ »ç¹°(°´Ã¼)À» ±×´ë·Î Ç¥ÇöÇϰí, ±×°ÍµéÀÌ ¾î¶»°Ô ¿òÁ÷ÀÌ´ÂÁö Á¤ÇØÁÖ°í ³ª¼­¾ß ºñ·Î¼Ò ±× °´Ã¼µé¿¡°Ô ÀÏÀ» ½ÃŲ´ä´Ï´Ù.

°´Ã¼ÁöÇâ ÇÁ·Î±×·¡¹ÖÀ» Àß »ç¿ëÇÏ¸é º¸´Ù ÁÁÀº ÇÁ·Î±×·¥À» »¡¸® ¸¸µé ¼ö ÀÖ°í, ³ªÁß¿¡ ¼öÁ¤Çϱ⵵ ÆíÇØÁø´Ù°í ÇÕ´Ï´Ù.

 

ÇÁ·Î±×·¡¹Ö ¾ð¾îµéÀÌ ¸ðµÎ °´Ã¼ÁöÇâÀûÀÎ °ÍÀº ¾Æ´ÏÁö¸¸ ¿äÁò¿¡ ÁÖ·Î »ç¿ëµÇ´Â °ÍµéÀº °´Ã¼ÁöÇâÀ» Á¦°øÇÏ´Â °ÍÀÌ ¸¹½À´Ï´Ù.

Java¿Í C++°¡ ´ëÇ¥ÀûÀÎ °´Ã¼ÁöÇâ ¾ð¾îÀÌÁö¿ä.

Àú´Â È¥ÀÚ °øºÎ¸¦ ÇÏ´Ùº¸´Ï C++¸¦ ¾î¶»°Ô Àоî¾ßÇÏ´ÂÁö Àß ¸ð¸£°Ú´õ±º¿ä. º¸Åë ¾¾»Ü»ÜÀ̶ó°íµµ ÇÏ°í ¾¾ Ç÷¯½º Ç÷¯½º¶ó°íµµ ÇÏ´õ¶ó±¸¿ä¡¦ ^^

 

Java´Â ÇÁ·Î±×·¥À» ÀÛ¼ºÇÒ ¶§ ¹«Á¶°Ç Ŭ·¡½º¸¦ ¸¸µé±â ¶§¹®¿¡ óÀ½ °øºÎÇϱ⿡´Â Á¶±Ý ºÎ´ã½º·´Áö¸¸ ¸î ´Þ °øºÎÇß´õ´Ï ¸Ó¸®°¡ °´Ã¼ÁöÇâÀûÀ¸·Î ¹Ù²î¾î¹ö¸³µð´Ù.@@;

C++´Â ²À °´Ã¼ÁöÇâÀûÀ¸·Î ÇÁ·Î±×·¡¹ÖÇÒ ÇÊ¿ä´Â ¾øÁö¸¸, ¹è¿ì±â´Â ´õ ¾î·ÆÁÒ.

 

ÆÄÀ̽ãÀº ¾î¶³±î¿ä?

¹è¿ì±â´Â Á¦ÀÏ ½±±¸¿ä, ²À °´Ã¼ÁöÇâÀûÀ¸·Î ÀÛ¼ºÇÏÁö ¾Ê¾Æµµ µË´Ï´Ù.

´Ù½Ã ¸»¾¸µå·Á¼­, ¾ÕÀ¸·ÎÀÇ °­Á¸¦ º¸Áö ¾ÊÀ¸¼Åµµ °£´ÜÇÑ ÇÁ·Î±×·¥À» ÀÛ¼ºÇϴµ¥ ¹®Á¦°¡ ¾ø´Ù´Â °ÍÀÌÁÒ.

 

ÇÏÁö¸¸ °´Ã¼ÁöÇâ¿¡ ´ëÇØ ÀÌÇØÇÏ½Ã°í ³ª¸é ÆÄÀ̽ãÀ¸·Î À©µµ¿ì ÇÁ·Î±×·¡¹ÖÀ» Çϰųª, º¹ÀâÇÑ ÇÁ·Î±×·¥À» ÀÛ¼ºÇϴµ¥ ¸¹Àº µµ¿òÀÌ µÈ´ä´Ï´Ù.

¶Ç, ´Ù¸¥ ÇÁ·Î±×·¡¹Ö ¾ð¾î¸¦ ÀÌÇØÇϱ⵵ ¼ö¿ùÇØÁöÁö¿ä.

 

±×·³ ÇÔ²² ½ÃÀÛÇØº¸½Ç±î¿ä?

 

°´Ã¼(object, instance)´Â ½ÇÁ¦·Î Á¸ÀçÇÏ´Â »ç¹°À» ÀÏÄ´ ¸»À̱¸¿ä, Ŭ·¡½º(class)´Â ±×·± »ç¹°µéÀ» °³³äÀûÀ¸·Î ºÎ¸£´Â ¸»ÀÔ´Ï´Ù. ¸»ÀÌ Á¶±Ý ¾î·ÆÁö¸¸ º° °Í ¾Æ´Õ´Ï´Ù.

¿¹¸¦ µé¾îº¸°Ú½À´Ï´Ù.

 

¡®¼­ÅÂÁö¡¯´Â ½ÇÁ¦·Î Á¸ÀçÇÏÁÒ?

¡®¸®Å° ¸¶Æ¾¡¯µµ ½ÇÁ¦·Î Á¸ÀçÇÏÁÒ?

µÎ ºÐ ´Ù ½ÇÁ¦·Î Á¸ÀçÇÏ´Â °´Ã¼ÀÔ´Ï´Ù.

 

µÎ ºÐÀÇ °øÅëÁ¡Àº ¹«¾ùÀϱî¿ä?

¿©·¯ °¡Áö¸¦ µé ¼ö ÀÖ°ÚÁö¸¸ µÑ ´Ù ¡®°¡¼ö¡¯¶ó´Â °øÅëÁ¡À» °®°í ÀÖÁö¿ä.

 

¡®°¡¼ö¡¯¶ó´Â ¹°Ã¼°¡ ½ÇÁ¦·Î Á¸ÀçÇÒ±î¿ä?

±×·¸Áö´Â ¾Ê½À´Ï´Ù.

ÇÏÁö¸¸ ¿ì¸®´Â ¡®³ë·¡ ºÎ¸£´Â °ÍÀ» ¾÷À¸·Î »ï´Â »ç¶÷¡¯À» ¡®°¡¼ö¡¯¶ó°í ¸»ÇÕ´Ï´Ù.

¡®°¡¼ö¡¯´Â ¡®³ë·¡ ºÎ¸£´Â °ÍÀ» ¾÷À¸·Î »ï´Â »ç¶÷¡¯À̶ó´Â °³³äÀ» ³ªÅ¸³½ Ŭ·¡½º°¡ µÇ´Â°ÅÁÒ.

 

´Ù¸¥ ¿¹¸¦ µé¾îº¼±î¿ä?

¡®»ç°ú¡¯´Â Ŭ·¡½ºÀ̱¸¿ä, ¡®³»°¡ ¾üÀú³á¿¡ ¸ÔÀº »ç°ú ´Ù¼¸ °³ Áß¿¡ µÎ ¹øÂ° °Í¡¯À̶ó°í ÄÛ Âï¾î¼­ ¸»ÇØÁÖ¸é °´Ã¼·Î ºÁÁÙ¸¸ÇÕ´Ï´Ù.

 

¡®ÁÁÀº Áý¡¯Àº °´Ã¼Àϱî¿ä?

¡®ÁÁÀº Áý¡¯Àº ÇÑ µÎ ±ºµ¥°¡ ¾Æ´Ï´Ï±î Ŭ·¡½º¶ó°í ÇÏ´Â °ÍÀÌ ÁÁÀ» °Í °°±º¿ä.

±×·³ ¡®¿ì¸® Áý¡¯Àº °´Ã¼Àϱî¿ä?

¡®Áý¡¯À̶ó´Â Ŭ·¡½ºÀÇ ÇÑ °´Ã¼ÀÎ °Í °°±âµµ Çϰí, ÁýÀ» ¿©·¯ ä °¡Áø »ç¶÷À» »ý°¢Çغ¸¸é Ŭ·¡½º¶ó°í ÇÏ´Â °ÍÀÌ ¸Â´Â °Í °°±âµµ Çϳ׿ä.

ÇÁ·Î±×·¥ ÀÛ¼ºÀ» À§ÇØ °´Ã¼¸¦ ¼³°èÇÏ´Ùº¸¸é ÀÌ·± ¾Ö¸ÅÇÑ ¹®Á¦¸¦ ¸¸³¯ ¶§µµ ÀÖÁö¿ä.

 

ÀÌÁ¦ ÆÄÀ̽ãÀ¸·Î Ŭ·¡½º¿Í °´Ã¼¸¦ Ç¥ÇöÇØº¸µµ·Ï ÇϰڽÀ´Ï´Ù.

>>> class Singer:                      # °¡¼ö Ŭ·¡½º¸¦ Á¤ÀÇÇϰڴÀ´Ï¶ó¡¦

...     def sing(self):                # ³ë·¡Çϱ⠸޽îµå

...            return "Lalala~"

...    

>>> taeji = Singer()                   # ÅÂÁö °´Ã¼¸¦ ¸¸µé¾î¶ù!

>>> taeji.sing()                       # ³ë·¡ ÇÑ °î ºÎÅ¹ÇØ¿ä~

'Lalala~'

 

Ŭ·¡½º¸¦ ¸¸µé ¶§´Â À§¿Í °°ÀÌ¡®class Ŭ·¡½ºÀ̸§:¡¯ Çü½ÄÀ¸·Î ½ÃÀÛÇØ¼­ ±× ´ÙÀ½ºÎÅÍ ±× Ŭ·¡½ºÀÇ ¼ºÁúÀ̳ª ÇൿÀ» Á¤ÀÇÇØÁÖ¸é µË´Ï´Ù.

µÑ° ÁÙ¿¡´Â ÇÔ¼ö°¡ Á¤ÀǵǾî ÀÖÁÒ?

À̰Ͱú °°ÀÌ Å¬·¡½º ³»ºÎ¿¡ Á¤ÀÇµÈ ÇÔ¼ö¸¦ ¸Þ½îµå(method)¶ó°í ºÎ¸¨´Ï´Ù.

¿©±â¼­ sing ¸Þ½îµå´Â Singer¶ó´Â Ŭ·¡½º°¡ ÇÏ´Â ÇൿÀ» Á¤ÀÇÇϰí ÀÖÁÒ.

 

Singer Ŭ·¡½º¸¦ ¸¸µç ´ÙÀ½¿¡´Â taeji¶ó´Â °´Ã¼¸¦ ¸¸µé¾ú½À´Ï´Ù.

¡®°´Ã¼À̸§ = Ŭ·¡½ºÀ̸§()¡¯¿Í °°ÀÌ ¸¸µé¸é µÇÁÒ.

 

±× ´ÙÀ½¿£ ±×·¸°Ô ¸¸µé¾îÁø taeji °´Ã¼¿¡°Ô ³ë·¡¸¦ ½ÃÄѺýÀ´Ï´Ù.

Singer Ŭ·¡½º¿¡ sing ¸Þ½îµå¸¦ Á¤ÀÇÇØÁá±â ¶§¹®¿¡ Singer Ŭ·¡½º¿¡ ¼ÓÇÑ taeji °´Ã¼µµ sing ¸Þ½îµå¸¦ »ç¿ëÇÒ ¼ö ÀÖÁö¿ä.

´Ù½Ã ¸»Çؼ­ °¡¼ö´Â ³ë·¡ÇÒ ¼ö ÀÖÀ¸´Ï±î ÅÂÁö¶ó´Â °¡¼öµµ ¿ª½Ã ³ë·¡¸¦ ÇÒ ¼ö ÀÖ´Â °ÍÀÔ´Ï´Ù.

ÀÌ¿Í °°ÀÌ ¾î¶² °´Ã¼ÀÇ ¸Þ½îµå¸¦ »ç¿ëÇÒ ¶§´Â ¡®°´Ã¼À̸§.¸Þ½îµå¡¯ Çü½ÄÀ¸·Î ÇØÁÖ¸é µË´Ï´Ù.

 

À̹ø¿£ °°Àº ¹æ¹ýÀ¸·Î ¸®Å° ¸¶Æ¾ °´Ã¼¸¦ ¸¸µé¾î¼­ ³ë·¡¸¦ Ã»ÇØº¸¼¼¿ä.

 

>>> ricky = Singer()

>>> ricky.sing()

'Lalala~'

 

¿À´ÃÀº ¿©±â±îÁö Çϵµ·Ï ÇÏÁÒ.

´Ù¸¥ Ŭ·¡½ºµéµµ Çѹø¾¿ ¸¸µé¾îº¸½Ã±â ¹Ù¶ø´Ï´Ù.

Áñ°Å¿î ÁÖ¸» º¸³»½Ã±¸¿ä~.