| ¼ö¾÷ :: °è¾à Ŭ·¡½º :: °è¾à - PerlÀÇ °è¾àÀ» ¼³°èÇÕ´Ï´Ù. |
Áö±Ý ´Ù¿î·Îµå |
¼ö¾÷ :: °è¾à ¼øÀ§ ¹× ¿ä¾à
- ƯÇã:
- Perl Artistic License
- °Ô½ÃÀÚ À̸§:
- Damian Conway
- °Ô½ÃÀÚ À¥»çÀÌÆ®:
- http://search.cpan.org/~dconway/
¼ö¾÷ :: °è¾à ű×
¼ö¾÷ :: °è¾à ¼³¸í
Class :: Contract - PerlÀÇ ¼³°è - °è¾àÀ» ü°áÇÕ´Ï´Ù. Class :: °è¾à - Perl.Snopsis ÆÐÅ°Áö Ŭ·¡½º À̸§À» »ç¿ëÇÏ¿© °è¾à¼ º° OO Ŭ·¡½º :: °è¾à; °è¾à {»ó¼Ó µÈ '±âÀú½Ã'; invar {...}; attr 'data1'; attr 'data2'=> ÇؽÃ; attr 'shared'=> ½ºÄ®¶ó Ŭ·¡½º; ctor 'new'; ¸Þ¼Òµå '¸Þ¼µå À̸§'; Pre {...}; failmsg '¿À·ù ¸Þ½ÃÁö'; °Ô½ÃÇÏ´Ù { ... }; failmsg '¿À·ù ¸Þ½ÃÁö'; Impt {...}; ¹æ¹ý 'NextMethod'; Impt {...}; Ŭ·¡½º ¸Þ¼Òµå 'sharedmeth'; Impt {...}; # etc.}; BackgroundDesign-Contract´Â ¼ÒÇÁÆ®¿þ¾î ½Ã½ºÅÛÀÇ °¢ ¸ðµâÀÌ ¸í½Ã ÀûÀ¸·Î ÇÊ¿äÇÑ ÀÔ·Â (¶Ç´Â µ¥ÀÌÅÍ ¶Ç´Â Àμö)À» ¸í½Ã ÀûÀ¸·Î ÁöÁ¤ÇÏ´Â ¼ÒÇÁÆ®¿þ¾î ¿£Áö´Ï¾î¸µ ±â¼úÀ̸ç Ãâ·Â (¶Ç´Â Á¤º¸ ¶Ç´Â °á°ú)ÀÌ º¸ÀåÇÏ´Â Ãâ·Â (¶Ç´Â Á¤º¸ ¶Ç´Â °á°ú) ÀÀ´ä.ÀÌ »ç¾çÀº ¸ðµâ°úÀ̸¦ »ç¿ëÇϴ Ŭ¶óÀ̾ðÆ® ¼ÒÇÁÆ®¿þ¾î »çÀÌÀÇ °è¾à¼ÀÇ "Á¶Ç×"À» ±¸¼ºÇÕ´Ï´Ù. Ŭ¶óÀ̾ðÆ® ¼ÒÇÁÆ®¿þ¾î°¡ ÀÔ·Â ¿ä±¸ »çÇ×À» ÁؼöÇÏ¸é ¸ðµâÀÌ ¿Ã¹Ù¸¥ Ãâ·ÂÀ» »ý¼ºÇϵµ·Ï º¸ÀåÇÕ´Ï´Ù. µû¶ó¼ ¸ðµâ°úÀÇ °¢ »óÈ£ ÀÛ¿ë ¿¡¼ÀÌ Á¶Ç×À» °ËÁõÇÏ¸é ½Ã½ºÅÛÀÇ Àü¹ÝÀûÀÎ µ¿ÀÛÀ» ÀÚ½ÅÀÖ°Ô ¿¹ÃøÇÒ ¼ö ÀÖ½À´Ï´Ù. °è¾à¼¿¡ ¸í½Ã Àû ÄÄÆÄÀÏ Å¸ÀÓ ¶Ç´Â ·±Å¸ÀÓ °Ë»ç¸¦ »ðÀÔÇÏ¿© ¸ðµâ ½Ä µðÀÚÀÎ ±â¼úÀÇ ÀÌÁ¡À» °ÈÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ ¼öÇ¥´Â ´ëºÎºÐ °´Ã¼ ÁöÇâ ¾ð¾î¿¡¼ ¹ß°ßµÇ¸ç ÀϹÝÀûÀ¸·Î ¹æ¹ý¿¡ ´ëÇÑ »çÀü Á¶°Ç ¹× »çÈÄ Á¶°ÇÀ¸·Î ±¸ÇöµÇ¸ç, Ŭ·¡½ºÀÇ ºÒº¯·®Àº CASTERT ¹®°ú °°Àº °£´ÜÇÑ °ËÁõ Áø¼ú°ú ´Ù¸¦ °ÍÀÓÀ» ±¸¼ºÇÕ´Ï´Ù. Á¶°Ç ¹× ºÒº¯·üÀº Ŭ·¡½ºÀÇ ¼Ó¼ºÀ̸ç ÆÄ»ý µÈ Ŭ·¡½º¿¡ ÀÇÇØ »ó¼ÓµË´Ï´Ù. ¼³°è º° ½Ã½ºÅÛ¿¡¼ ÀÚÁÖ Á¦°øµÇ´Â Ãß°¡ ¿ë·®Àº »ý»ê Äڵ忡¼ ¼±ÅÃÀûÀ¸·Î ºñÈ°¼ºÈ ÇÒ ¼öÀÖ´Â ±â´ÉÀÔ´Ï´Ù. À̸¦ ÅëÇØ ÃÖÁ¾ ½Ã½ºÅÛÀÇ ¼º´ÉÀ» Ãæ´çÇÏÁö ¾Ê°íµµ °è¾à Å×½ºÆ®°¡ ¼öÇà Áß¿¡ °è¾àÀ» ¼öÇà ÇÒ ¼ö ÀÖ½À´Ï´Ù. PerlThe Ŭ·¡½º :: °è¾à ¸ðµâÀº ¼ö¾÷ÀÇ ¸Þ¼Òµå ¹× ¼Ó¼ºÀ» ÁöÁ¤ÇϱâÀ§ÇÑ ÇÁ·¹ÀÓ ¿öÅ©¸¦ Á¦°øÇÕ´Ï´Ù ( ±âÁ¸ Ŭ·¡½º Á¤ÀÇ ¸ðµâ Ŭ·¡½º :: ±¸Á¶Ã¼, Ŭ·¡½º :: ¸Þ¼µå ¸ÞÀÌÄ¿ ¹× Ŭ·¡½º :: »ý¼º). Class :: Contract´Â °³Ã¼ º° ¹× Ŭ·¡½º º° ¼öÁØÀÇ ¸Þ¼Òµå ¹× ¼Ó¼ºÀ» ¸ðµÎ Á¤ÀÇ ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¼Ó¼ºÀº scalar-, array-, hash- ¶Ç´Â object-basons.class :: °è¾àÀº Ŭ·¡½º¿¡ ´ëÇÑ ºÒº¯ Á¶°ÇÀ» ÁöÁ¤ÇÒ ¼öÀÖ´Â ±â´ÉÀ» Á¦°ø ÇÒ ¼ö ÀÖ´Ù´Â Á¡¿¡¼ ´Ù¸¥ Ŭ·¡½º »ç¾ç ¸ðµâ (Ŭ·¡½º :: »ý¼º Á¦¿Ü)°ú ´Ù¸¨´Ï´Ù. ¸Þ¼Òµå ¹× ¼Ó¼º¿¡ ´ëÇÑ »çÀü ¹× »çÈÄ Á¶°Ç. ÀÌ·¯ÇÑ ¸ðµç Á¶Ç×Àº ¿ÏÀüÈ÷ »ó¼Ó µÉ ¼ö ÀÖÀ¸¸ç ¼±ÅÃÀûÀ¸·Î ºñÈ°¼ºÈ µÉ ¼ö ÀÖ½À´Ï´Ù. Ŭ¸®³Ê, °£´ÜÇÑ »ç¾ç ±¸¹®ÀÌ ÀÖÀ¸¸ç ´õ Áß¿äÇÑ °ÍÀº °´Ã¼ ¼Ó¼ºÀÇ Ä¸½¶È¸¦ ½ÃÇàÇÔÀ¸·Î½á Ŭ·¡½º °è¾àÀ» ÇϽø®°Ô ÇÒ ¼ö ÀÖÀ½À» È®ÀÎÇÕ´Ï´Ù. Ŭ·¡½º Ŭ·¡½º :: °è¾àÀº ¸í½Ã Àû ±¸¹®À» Á¦°øÇÕ´Ï´Ù. Ŭ·¡½ºÀÇ ¼Ó¼º, ¹æ¹ý ¹× »ý¼ºÀÚ¸¦ Á¤ÀÇÇÏ´Â °ÍÀÔ´Ï´Ù. Ŭ·¡½º ÀÚü´Â °è¾à ¼ºê ·çƾÀ» »ç¿ëÇÏ¿© Á¤Àǵ˴ϴÙ. °è¾àÀº ´ÜÀÏ Àμö - ¼ºê ·çƾ ÂüÁ¶ ¶Ç´Â ºí·ÏÀ» »ç¿ëÇÕ´Ï´Ù. ÇØ´ç ºí·ÏÀº ÇöÀç ÆÐÅ°ÁöÀÇ Å¬·¡½ºÀÇ ´Ù¾çÇÑ ±¸¼º ¿ä¼Ò¸¦ ±¸¼ºÇÏ°í ¼³Ä¡ÇÏ´Â °á°ú¸¦ ÇÑ ¹ø ½ÇÇàÇÏ°í °á°ú¸¦ ¼³Ä¡ÇÕ´Ï´Ù. ÆÐÅ°Áö ´ë±â¿; °è¾à {# Ŭ·¡½º ´ë±â¿ ¼Ó¼º ¹× ¸Þ¼ÒµåÀÇ ÁöÁ¤}; ¿ä±¸ »çÇ× : ¡¤ Perl.
¼ö¾÷ :: °è¾à °ü·Ã ¼ÒÇÁÆ®¿þ¾î