|
|
|
 |
ÆÇ¸Å°¡ |
28,000¿ø ¡æ 20,440¿ø 27% |
|
 |
¸¶Àϸ®Áö |
1% 200¿ø |
|
 |
¹ßÇàÀÏ |
2007-05-30
|
 |
ISBN |
8979144946 | 9788979144949
|
 |
±âŸÁ¤º¸ |
¹ø¿ª¼ | 636ÂÊ
|
|
 |
¿¹»óÃâ°íÀÏ
|
1ÀÏ (±Ù¹«ÀϱâÁØ) |
 |
¹è¼Ûºñ |
¹«·á¹è¼Û
|
| |
|
|
|
|
|
 |
| ÇÁ·Î±×·¡¹Ö
|
|
|
| Á¾ÇÕÁö¼ö 12p 20 À§ |
|
| ¿ù°£Áö¼ö 13p 8 À§ |
|
| ÁÖ°£Áö¼ö 11p 5 À§ |
|
|
| |
|
¡Ø ³×À̹ö üũ¾Æ¿ôÀ¸·Î ±¸¸Å½Ã ºñȸ¿øÀ¸·Î ±¸¸Å°¡
µÇ¹Ç·Î °ÄÄ ¸¶Àϸ®Áö´Â Àû¸³ µÇÁö ¾Ê½À´Ï´Ù. |
|
|
|
 |
|
°´Ã¼ÁöÇâ °³¹ß ¹æ¹ý·ÐÀº ¼ÒÇÁÆ®¿þ¾îÀÇ Á¤ÀûÀÎ µ¥ÀÌÅÍ Ãø¸é°ú µ¿ÀûÀÎ ±â´É Ãø¸éÀ» ¸ðµÎ Áß½ÃÇÑ ½Ã½ºÅÛÀ» °³¹ßÇÒ ¶§ ¿ä±¸µÇ´Â ¿©·¯°¡Áö °·ÂÇÑ ¸ðµ¨¸µ °³³ä°ú ĸ½¶È °³³ä µîÀ» Àß Áö¿øÇϰí ÀÖ´Ù. ÀÌ·¯ÇÑ °´Ã¼ ÁöÇâ ¹æ¹ý·ÐÀº ±¸Á¶Àû °³¹ß ¹æ¹ý·Ð¿¡ ºñÇØ ¼ÒÇÁÆ®¿þ¾î ºÐ¼®, Å×½ºÆ®, À¯Áöº¸¼ö, È®Àå µîÀ» ½±°Ô ÇØÁÖ¸ç, ºÐ¸íÇϸ鼵µ Àß ÀÌÇØÇÒ ¼ö ÀÖ´Â ¼³°è °á°ú¸¦ ¸¸µé¾î ³½´Ù. ÀÌ Ã¥Àº °´Ã¼ ÁöÇ⠺м® ¹× ¼³°è(object- orient analysis and design) ¹æ¹ý·ÐÀ» óÀ½ Á¢ÇÏ´Â °³¹ßÀÚµéÀÌ È®½ÇÇÏ°Ô °³³äÀ» ÀâÀ» ¼ö ÀÖ°Ô µµ¿òÀ» ÁØ´Ù.
°´Ã¼ÁöÇ⠺м® ¼³°è, ÀÌÁ¦ ÀÌ Ã¥À¸·Î ½ÃÀÛÇϼ¼¿ä. Àü¹®°¡µé¿¡°Ô¸¸ À¯¿ëÇÑ °´Ã¼ÁöÇ⠺м® ¼³°è Ã¥µé¿¡ Áú¸®¼ÌÁÒ? °´Ã¼ÁöÇ⠺м® ¼³°è°¡ ´ç½ÅÀÇ »ó»ç¿Í °í°´À» ¸¸Á·½Ãų ¼ö ÀÖ´Â ¼ÒÇÁÆ®¿þ¾î¸¦ ¸¸µå´Âµ¥ µµ¿òÀ» ÁØ´Ù°í ¸»µéÀ» ÇÕ´Ï´Ù. ±×·±µ¥ ¾î¶»°Ô ÇÏ´Â °É±î¿ä? ÀÌ Ã¥Àº º¹ÀâÇÑ °´Ã¼ÁöÇâ ¼ÒÇÁÆ®¿þ¾î(Àç»ç¿ë¼º, À¯Áöº¸¼ö¼º, È®À强ÀÌ ÁÁÀº ¼ÒÇÁÆ®¿þ¾î, ´ç½ÅÀÇ ¸Ó¸®¸¦ ¾ÆÇÁ°Ô ÇÏÁö ¾Ê´Â ¼ÒÇÁÆ®¿þ¾î, ¿¹Àü ±â´ÉÀ» ¼Õ»ó½ÃŰÁö ¾Ê°í »õ·Î¿î ±â´ÉÀ» Ãß°¡ÇÒ ¼ö ÀÖ°Ô ÇÏ´Â ¼ÒÇÁÆ®¿þ¾î)¸¦ ¾î¶»°Ô ºÐ¼®, ¼³°è, ÀÛ¼ºÇÏ´ÂÁö¸¦ º¸¿©ÁÝ´Ï´Ù. ¾î¶² µ¶ÀÚ¸¦ À§ÇÑ Ã¥Àΰ¡? . °´Ã¼ÁöÇ⠺м® ¼³°è¸¦ óÀ½ °øºÎÇÏ´Â ¼ÒÇÁÆ®¿þ¾î °³¹ßÀÚ¿¡°Ô ÃßõÇÕ´Ï´Ù. . ·¹ÆÛ·±½º ¼ÀûÀÌ ¾Æ´Ï¶ó ÇнÀ¼À̱⠶§¹®¿¡ Àü¹® °´Ã¼ÁöÇâ µðÀÚÀ̳Ê/°³¹ßÀÚ¿¡°Ô´Â ¾î¿ï¸®Áö ¾Ê½À´Ï´Ù. . ÀÌ Ã¥Àº ºÐ¼®°ú ¼³°è¿¡ ÃÊÁ¡À» ¸ÂÃß°í ÀÖ°í, µ¶ÀÚ°¡ ÀÚ¹ÙÀÇ ±âº»Àº ¾È´Ù°í °¡Á¤Çϰí ÀÖ½À´Ï´Ù. ÀÚ¹Ù¸¦ ¾ÆÁÖ Àß ¾Ë¾Æ¾ß ÇÏ´Â °ÍÀº ¾Æ´ÏÁö¸¸ Head First Java ÇÑ ±Ç Á¤µµ¸¦ Àаųª ÀÚ¹Ù¸¦ ¸ð¸£´õ¶óµµ C#À» ¾È´Ù¸é ÄÚµå ¿¹Á¦ÀÇ ´ëºÎºÐÀ» ÀÌÇØÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×¸®°í C++¸¦ Àß ¾Ë¾Æµµ ±¦Âú½À´Ï´Ù. . ÀÌ Ã¥Àº ¾Õ¿¡¼ ¹è¿î ³»¿ëÀ» ¾Ë¾Æ¾ß¸¸ µÞºÎºÐÀÇ ³»¿ëÀ» ÀÌÇØÇÒ ¼ö ÀÖ´Â ÇüÅ·Π¸¸µé¾ú±â ¶§¹®¿¡, Àû¾îµµ óÀ½ ÀÐÀ» ¶§´Â ¸Ç ¾ÕºÎÅÍ ¼ø¼´ë·Î Àоî¾ß ÇÕ´Ï´Ù.
¿©·¯ºÐÀÇ ³ú¸¦ °´Ã¼ÁöÇâ ±¸Á¶·Î ¹Ù²ãµå¸³´Ï´Ù. ÀÌ Ã¥Àº Àç»ç¿ë¼º, À¯Áöº¸¼ö¼º, È®À强 µîÀÌ ¿ì¼öÇÑ °´Ã¼ÁöÇâ ¼ÒÇÁÆ®¿þ¾î¸¦ ¾î¶»°Ô ºÐ¼®, ¼³°è, ÀÛ¼ºÇÏ´ÂÁö¸¦ º¸¿©ÁÝ´Ï´Ù. ÀÌ Ã¥¿¡¼ ´ÙÀ½°ú °°Àº ³»¿ëÀ» ¹è¿ó´Ï´Ù.
- ĸ½¶È, À§ÀÓ µîÀÇ °´Ã¼ÁöÇâ ¿ø¸®¸¦ »ç¿ëÇØ¼ À¯¿¬ÇÑ ¼ÒÇÁÆ®¿þ¾î¸¦ ¸¸µå´Â ¹æ¹ý - OCP(Open-Closed Principle)¿Í SRP (Single Responsibility Principle)¸¦ Àû¿ëÇÏ¿© ÄÚµåÀÇ Àç»ç¿ë¼ºÀ» ³ôÀÌ´Â ¹æ¹ý - °´Ã¼ÁöÇâ ¿ø¸®¿Í µðÀÚÀÎ ÆÐÅÏ, ±×¸®°í ´Ù¾çÇÑ °³¹ß ¹æ¹ý·ÐÀÌ °´Ã¼ÁöÇ⠺м® ¼³°è ÇÁ·ÎÁ§Æ®¿¡ ¾î¶»°Ô µé¾î ¸Â´ÂÁö ¹è¿ó´Ï´Ù. - UML°ú À¯½ºÄÉÀ̽º, ±×¸®°í ´Ù¾çÇÑ ´ÙÀ̾î±×·¥µéÀ» »ç¿ëÇØ ¸ðµç ÇÁ·ÎÁ§Æ® Âü¿©ÀÚµéÀÇ ÀÇ»ç¼ÒÅëÀ» ¸íÈ®È÷ ÇÏ´Â ¹æ¹ý
ÀÌ Ã¥Àº ¿©·¯ºÐ ¸Ó¸®ÀÇ µ¿ÀÛ¿ø¸®¸¦ ÀÌ¿ëÇØ º¹ÀâÇÑ Á¤º¸¸¦ ¹è¿ì¸é¼ ½ÀµæÇÏ´Â ½Ã°£À» ´ÜÃà½Ãŵ´Ï´Ù. ¾Æ¸¶ Àç¹ÌÀÖÀ» °ÍÀ̰í, ¸¹ÀÌ ¹è¿ï °ÍÀ̸ç, ÀÌ Ã¥À» ¸¶Ä¡¸é °è¼ÓÇØ¼ ÁÁÀº ÇÁ·Î±×·¥À» ¸¸µé ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù.
|
 |
|
 |
1Àå. À§´ëÇÑ ¼ÒÇÁÆ®¿þ¾î´Â ¿©±â¿¡¼ ½ÃÀ۵ȴÙ
¶ô¾Ø·ÑÀº ¿µ¿øÇÏ´Ù! ¸¯ÀÇ ºû³ª´Â »õ ÇÁ·Î±×·¥... ¿©·¯ºÐÀ̶ó¸é ¹«¾ùÀ» ¸ÕÀú ¹Ù²Ù°Ú½À´Ï±î? À§´ëÇÑ ¼ÒÇÁÆ®¿þ¾î´Â... ½¬¿î 3´Ü°è·Î À§´ëÇÑ ¼ÒÇÁÆ®¿þ¾î ¸¸µé±â ¿ì¼± ±â´É¿¡ ÁßÁ¡À» µÎ¼¼¿ä Å×½ºÆ® ±¸µ¿ ¹®Á¦Á¡ ã¾Æº¸±â ºÐ¼® °´Ã¼ÁöÇâÀÇ ±âº» ¿ø¸® Àû¿ë ¼³°è ÇÑ ¹øÇϰí, ¼³°è µÎ ¹øÇÏ°í ¿©·¯ºÐÀÇ ÇÁ·Î±×·¥À» ¼öÁ¤ÇÏ´Â °ÍÀÌ ¾î´À Á¤µµ ½¬¿î°¡¿ä? º¯ÇÏ´Â °ÍÀ» ĸ½¶ÈÇϼ¼¿ä À§ÀÓ À§´ëÇÑ ¼ÒÇÁÆ®¿þ¾î(Áö±Ý¿¡´Â) OOA&D´Â À§´ëÇÑ ¼ÒÇÁÆ®¿þ¾î¸¦ ÀÛ¼ºÇÏ´Â ¹æ¹ý¿¡ °üÇÑ °ÍÀÔ´Ï´Ù ÇÙ½É Á¤¸®
2Àå. ±×µé¿¡°Ô ¿øÇÏ´Â °ÍÀ» ÁÖ¼¼¿ä
»õ·Î¿î ÇÁ·Î±×·¡¹Ö ÀÏÀÌ »ý°å½À´Ï´Ù Å×½ºÆ® ±¸µ¿ À߸øµÈ »ç¿ë(ÀÏÁ¾ÀÇ) ¿ä±¸ »çÇ×ÀÌ ¹«¾ùÀԴϱî? ¿ä±¸ »çÇ× ¸®½ºÆ® ¸¸µé±â ¹®Á¦ ¹ß»ý¿¡ ´ëÇÑ °èȹ¾È ½Ã½ºÅÛÀÇ ¹®Á¦´Â ´ëü °æ·Î°¡ ÇØ°á À¯½ºÄÉÀ̽º¸¦ ¼Ò°³ÇÕ´Ï´Ù ÇϳªÀÇ À¯½ºÄÉÀ̽º, ¼¼ °¡Áö ºÎºÐ À¯½ºÄÉÀ̽º¸¦ °¡Áö°í ¿ä±¸ »çÇ× Ã¼Å©Çϱ⠿©·¯ºÐÀÇ ½Ã½ºÅÛÀº ½ÇÁ¦ »óȲ¿¡¼ µ¿ÀÛÇØ¾ß ÇÕ´Ï´Ù ÇູÇÑ °æ·Î ¾Ë¾Æº¸±â OOA&D µµ±¸ »óÀÚ
3Àå. ´ç½ÅÀ» »ç¶ûÇØ¿ä. ´ç½ÅÀº ¿Ïº®ÇØ... ±×·±µ¥ ÀÌ°Ç Á» ¹Ù²åÀ¸¸é
´ç½ÅÀº ³ªÀÇ ¿µ¿õÀÔ´Ï´Ù! ´ç½ÅÀº ¹Ùº¸ÀÔ´Ï´Ù! ¼ÒÇÁÆ®¿þ¾î ºÐ¼®°ú ¼³°è¿¡¼ º¯ÇÏÁö ¾Ê´Â ÇÑ °¡Áö ¼±Åà °æ·Î? ´ëü °æ·Î? ±¸º°ÀÌ ¾î·Á¿ö¿ä! À¯½ºÄÉÀ̽º´Â ¿©·¯ºÐÀÌ ÀÌÇØÇϱ⠽¬¿ö¾ß ÇÕ´Ï´Ù ½ÃÀÛºÎÅÍ ³¡: ÇϳªÀÇ ½Ã³ª¸®¿À ´ëü °æ·ÎÀÇ °í¹é ¿ä±¸ »çÇ× ¸®½ºÆ® ³¡³»±â Áߺ¹ ÄÚµå´Â ³ª»Û »ý°¢ÀÔ´Ï´Ù ¸¶Áö¸· Å×½ºÆ® ±¸µ¿ ¿©·¯ºÐ ½º½º·ÎÀÇ µðÀÚÀÎ ¿ø¸®¸¦ ¾²¼¼¿ä OOA&D µµ±¸ »óÀÚ
4Àå. ¿©·¯ºÐÀÇ ¼ÒÇÁÆ®¿þ¾î¸¦ ½ÇÁ¦ ¼¼»óÀ¸·Î...
°¾ÆÁö ÇÑ ¸¶¸®, °¾ÆÁö µÎ ¸¶¸®, °¾ÆÁö ¼¼ ¸¶¸®, ³× ¸¶¸® ÇÁ·Î±×·¥Àº µ¿ÀÛ È¯°æÀÌ ÀÖ½À´Ï´Ù ¹®Á¦ ã±â ÇØ°á ¹æ¾ÈÀÇ °èȹ µÎ ÇÁ·Î±×·¡¸ÓÀÇ À̾߱â À§ÀÓÀ¸·Î ¿ìȸ ´À½¼ÇÏ°Ô °áÇÕµÈ ÇÁ·Î±×·¥ÀÇ Èû À¯½ºÄÉÀ̽º¿¡¼ ¸í»çµé¿¡ ÁÖÀǸ¦ ±â¿ïÀ̼¼¿ä ºÐ¼®À» ÀßÇØ¼ Àû´çÇÑ Å¬·¡½º ã±â Ŭ·¡½º ´ÙÀ̾î±×·¥ÀÇ ºÐÇØ Ŭ·¡½º ´ÙÀ̾î±×·¥ÀÌ ÀüºÎ´Â ¾Æ´Õ´Ï´Ù ÇÙ½É Á¤¸®
5Àå. (part1) º¯ÇÏÁö ¾Ê´Â °ÍÀº ¾ø´Ù
¸¯ÀÇ ±âŸ´Â ¹øÃ¢Çϰí ÀÖ½À´Ï´Ù Ãß»ó Ŭ·¡½º Ŭ·¡½º ´ÙÀ̾î±×·¥ ºÐ¼®(´Ù½Ã) UML ÄÁ´× ÆäÀÌÆÛ µðÀÚÀÎ ¹®Á¦ °æ°í À§´ëÇÑ ¼ÒÇÁÆ®¿þ¾î·Î ÇâÇÏ´Â 3´Ü°è(¿¹Àü¿¡ ÇÑ ³»¿ë)
(¸·°£) °´Ã¼ ÁöÇâ ´ëÂü»ç!
(part2) ¿©·¯ºÐÀÇ ¼ÒÇÁÆ®¿þ¾î¸¦ ¿îµ¿½ÃÄѼ ưưÇÏ°Ô ¸¸µå¼¼¿ä
¸¯ÀÇ °Ë»ö µµ±¸·Î ´Ù½Ã µ¹¾Æ°¡¼ search() ¸Þ½îµå ÀÚ¼¼È÷ »ìÆìº¸±â ºÐ¼®À» ÅëÇØ ¾òÀº °Í Ŭ·¡½ºµéÀ» Çൿ(behavior)¿¡ °üÇÑ °ÍÀÔ´Ï´Ù µðÀÚÀÎ (°áÁ¤)ÀÇ Á×À½ À߸ø ³»¸° µðÀÚÀÎ °áÁ¤À» ¹Ù²Ù¼¼¿ä ¸¯ ÇÁ·Î±×·¥¿¡¼ÀÇ ¡°ÀÌÁß Ä¸½¶È¡± ½Ç¼öÇÏ´Â °ÍÀ» µÎ·Á¿öÇÏÁö ¸¶¼¼¿ä ¸¯ÀÇ À¯¿¬ÇÑ ÇÁ·Î±×·¥ Àß µðÀÚÀÎµÈ ¸¯ÀÇ ÇÁ·Î±×·¥ ½ÃÇè ±¸µ¿ ¸¯ÀÇ ¼ÒÇÁÆ®¿þ¾î¸¦ º¯°æÇÏ´Â °ÍÀÌ ¾ó¸¶³ª ½¬¿î°¡¿ä? À§´ëÇÑ º¯°æ ¿ëÀ̼º ¹®Á¦ ÀÀÁýµÈ Ŭ·¡½º´Â ÇϳªÀÇ ÀÏÀ» Á¤¸» ÀßÇÕ´Ï´Ù µðÀÚÀÎ/ÀÀÁýµµ »ý¸í ÁÖ±â À§´ëÇÑ ¼ÒÇÁÆ®¿þ¾î´Â ¡°ÃæºÐÈ÷ ÁÁ½À´Ï´Ù¡± OOA&D µµ±¸ »óÀÚ
6Àå. ¡°³» À̸§Àº ¾ÆÆ® ¹Ýµ¨¸®... ³ª´Â °ÇÃà°¡¿¹¿ä¡±
Å« ¹®Á¦ ÇØ°áÇϱâ Å« ¹®Á¦¸¦ ¾î¶»°Ô ¹Ù¶óº¸´Â °¡¿¡ ÇØ´äÀÌ ÀÖ½À´Ï´Ù ¿ä±¸ »çÇ×°ú À¯½ºÄÉÀ̽º·Î ½ÃÀÛÇÏ´Â °Íµµ ÁÁ½À´Ï´Ù °øÅëÁ¡°ú Â÷º°¼º Ư¡µé ã¾Æ ³»±â Ư¡°ú ¿ä±¸ »çÇ×ÀÇ Â÷ÀÌÁ¡ À¯½ºÄÉÀ̽º´Â °³¹ß ½Ã½ºÅÛ ÀüüÀÇ Å« ±×¸²À» º¸´Â µ¥ Ç×»ó µµ¿òÀÌ µÇÁö´Â ¾Ê½À´Ï´Ù À¯½ºÄÉÀ̽º ´ÙÀ̾î±×·¥ ÀÛÀº ¾×ÅÍ ¾×Å͵鵵 »ç¶÷ÀÔ´Ï´Ù. (Ç×»ó ±×·¸Áö´Â ¾ÊÁö¸¸) µµ¸ÞÀÎ ºÐ¼®À» Á» ÇØ º¾½Ã´Ù ³ª´²¼ Á¤º¹ÇÏ±â °í°´ÀÌ Á¤¸» ´©±¸ÀÎÁö ÀØÁö ¸¶¼¼¿ä µðÀÚÀÎ ÆÐÅÏÀÌ ¹¹ÁÒ? OOA&D(¿Í ¾à°£ÀÇ »ó½Ä)ÀÇ Èû OOA&D µµ±¸ »óÀÚ
7Àå. È¥¶õ½º·¯¿î ¼¼»ó¿¡ Áú¼¸¦
¾î¶»°Ô ÇÒÁö Á» ¸·¸·ÇÏÁÒ? ¿ì¸®´Â ¾ÆÅ°ÅØÃ³°¡ ÇÊ¿äÇÕ´Ï´Ù ±â´ÉºÎÅÍ ½ÃÀÛÇսô٠¹«¾ùÀÌ ¾ÆÅ°ÅØÃ³ÀûÀ¸·Î Áß¿äÇմϱî? ¾ÆÅ°ÅØÃ³¿¡ °üÇÑ ¼¼ °¡Áö Áú¹® À§Çè ÁÙÀ̱⠽󪸮¿ÀµéÀÌ À§Çè¿ä¼Ò¸¦ ÁÙÀÌ´Â µ¥ µµ¿òÀÌ µË´Ï´Ù ÇÑ ¹ø¿¡ ÇϳªÀÇ Æ¯Â¡¿¡ ÁýÁßÇϼ¼¿ä ¾ÆÅ°ÅØÃ³´Â µðÀÚÀÎÀÇ ±¸Á¶ÀÔ´Ï´Ù °øÅëÁ¡ ´Ù½Ã º¸±â °øÅëÁ¡ ºÐ¼® ¹«½¼ ¶æÀÌÁÒ? °í°´¿¡°Ô ¹°¾îº¸¶ó´Ï À§ÇèÀ» ÁÙÀÌ´Â °ÍÀÌ À§´ëÇÑ ¼ÒÇÁÆ®¿þ¾î¸¦ ¸¸µå´Â µ¥ µµ¿òÀÌ µË´Ï´Ù ÇÙ½É Á¤¸®
8Àå. µ¶Ã¢ÀûÀÎ µðÀÚÀÎÀº Á¤µµ²¯
µðÀÚÀÎ ¿ø¸® Á¤¸® °³¹æ-Æó¼âÀÇ ¿ø¸®(Open-Closed Principle, OCP) OCP¸¦ ´Ü°èÀûÀ¸·Î »ìÆìº¸±â ¹Ýº¹ ±ÝÁöÀÇ ¿ø¸®(Don¡¯t Repeat Yourself Principle-DRY) DRY´Â ÇϳªÀÇ ¿ä±¸ »çÇ×Àº ÇÑ °÷¿¡ µÎ¾î¾ß ÇÑ´Ù´Â ¿ø¸®ÀÔ´Ï´Ù ´ÜÀÏ Ã¥ÀÓÀÇ ¿ø¸®(Single Responsibility Principle, SRP) ¿©·¯ °³ÀÇ Ã¥ÀÓÀ» ã¾Æ³»±â ¿©·¯ °³ÀÇ Ã¥ÀÓµéÀ» ÇϳªÀÇ Ã¥ÀÓÀ¸·Î ¹Ù²Ù±â ¸®½ºÄÚÇÁ ġȯ ¿ø¸®(LSP) À߸øµÈ »ó¼Ó »ç¿ë: »ç·Ê ¿¬±¸ LSP´Â ¿©·¯ºÐÀÌ ¼³°èÇÑ »ó¼Ó ±¸Á¶ÀÇ ¼û°ÜÁø ¹®Á¦Á¡À» ã¾Æ ÁÝ´Ï´Ù. ÀÚ½Ä Å¸ÀÔÀº ºÎ¸ð ŸÀÔÀÌ »ç¿ëµÇ´Â °÷¿¡ ´ëüµÇ¾î »ç¿ëµÉ ¼ö ÀÖ¾î¾ß ÇÕ´Ï´Ù LSP¸¦ À§¹ÝÇϸé È¥¶õ½º·¯¿î Äڵ尡 µË´Ï´Ù ´Ù¸¥ Ŭ·¡½º¿¡ ±â´ÉÀ» À§ÀÓ(Delegation)Çϱ⠱¸¼º(Composition)À» »ç¿ëÇØ¼ ´Ù¸¥ Ŭ·¡½ºµéÀÇ ÇൿÀ» Á¶ÇÕÇϱâ ÁýÇÕ(Aggregation): °©Àڱ⠻ç¶óÁöÁö ¾Ê´Â ±¸¼º(Composition) ÁýÇÕ (Aggregation) ´ë ±¸¼º(Composition) »ó¼ÓÀº ¼±Åà »çÇ× Áß ÇϳªÀÏ »Ó ÇÙ½É Á¤¸® OOA&D µµ±¸ »óÀÚ
9Àå. ¼ÒÇÁÆ®¿þ¾î´Â ¿©ÀüÈ÷ °í°´À» À§ÇÑ °ÍÀÔ´Ï´Ù.
¿©·¯ºÐÀÇ µµ±¸ »óÀڴ ä¿öÁö°í ÀÖ½À´Ï´Ù ¿©·¯ºÐÀº ¹Ýº¹ ÀÛ¾÷À» ÅëÇØ À§´ëÇÑ ¼ÒÇÁÆ®¿þ¾î¸¦ ÀÛ¼ºÇÕ´Ï´Ù ¹Ýº¹ ½ÉÈ ÀÛ¾÷: µÎ °¡Áö ±âº»ÀûÀÎ ¼±Åà Ư¡ ÁÖµµ °³¹ß(Feature driven development) À¯½ºÄÉÀ̽º ÁÖµµ °³¹ß(Use case driven development) °³¹ßÀÇ µÎ °¡Áö Á¢±Ù ¹æ½Ä Ư¡ ºÐ¼® Å×½ºÆ® ½Ã³ª¸®¿À ÀÛ¼ºÇϱâ Å×½ºÆ® ÁÖµµ °³¹ß(test driven development) °øÅëÁ¡ ºÐ¼® °øÅëÁ¡ °Á¶Çϱâ ĸ½¶È °Á¶Çϱâ Å×½ºÆ®¸¦ ¼³°è¿¡ Àû¿ëÇϼ¼¿ä Å×½ºÆ® ÄÉÀ̽º ÇØºÎ... ¿©·¯ºÐ ÀÚ½ÅÀ» °í°´¿¡°Ô ÀÔÁõÇØ º¸À̼¼¿ä ¿ì¸®´Â Áö±Ý±îÁö ¾àÁ¤(contract)¿¡ ÀÇÇØ ÇÁ·Î±×·¥À» ÀÛ¼ºÇß½À´Ï´Ù ¾àÁ¤¿¡ ÀÇÇÑ ÇÁ·Î±×·¡¹ÖÀ̶õ Á¤¸»·Î ¸ðµÎ ¹ÏÀ½¿¡ °üÇÑ °ÍÀÔ´Ï´Ù ¹æ¾îÀû ÇÁ·Î±×·¡¹Ö(depensive programming) ¾îÇø®ÄÉÀ̼ÇÀ» ±â´ÉÀÇ ÀÛÀº µ¢¾î¸®µµ ³ª´©¾î º¸¼¼¿ä ÇÙ½É Á¤¸® OOA&D µµ±¸ »óÀÚ
10Àå. Á¾ÇÕÇϱâ
OOA&D ½ºÅ¸ÀÏ·Î ¼ÒÇÁÆ®¿þ¾î °³¹ßÇϱ⠰´Ã¼ ¸¶À» ÁöÇÏö ¹®Á¦ °´Ã¼ ¸¶À» ÁöÇÏö ³ë¼±µµ Ư¡ ¸®½ºÆ® À¯½ºÄÉÀ̽º´Â »ç¿ë¹ýÀ» ¹Ý¿µÇϰí, Ư¡Àº ±â´ÉÀ» ¹Ý¿µÇÕ´Ï´Ù ¹Ýº¹ ÀÛ¾÷(iteration) ½ÃÀÛÇϱâ ÁöÇÏö Ç¥½ÃÇϱ⿡ ´ëÇØ ÀÚ¼¼È÷ »ìÆìº¸±â Line Ŭ·¡½º¸¦ »ç¿ëÇÏ´À³Ä, ¸¶´À³Ä °´Ã¼ ¸¶À» Subway (Ŭ·¡½º)ÀÇ Èï¹Ì·Î¿î Á¡µé ´ç½ÅÀÇ Å¬·¡½ºµé º¸È£Çϱâ ÈÞ½Ä ½Ã°£ ¿ä±¸ »çÇ× ´Ü°è·Î µ¹¾Æ°¡±â Äڵ忡 ÁýÁßÇϰí, ´ÙÀ½ °í°´µé¿¡°Ô ÁýÁßÇϼ¼¿ä ¹Ýº¹ ÀÛ¾÷Àº ¹®Á¦¸¦ ½±°Ô ÇÕ´Ï´Ù °æ·Î´Â ¾î¶»°Ô »ý°å³ª¿ä? ½º½º·Î °´Ã¼ ¸¶À» ÁöÇÏö ½Ã½ºÅÛÀ» Á¡°ËÇØº¸¼¼¿ä ¹Ýº¹ ÀÛ¾÷ #3, ´©±¸µçÁö? ¿©ÇàÀº ³¡³ªÁö ¾Ê¾Ò½À´Ï´Ù...
ºÎ·Ï A. 10°³ÀÇ ÇÙ½É ÅäÇÈ (¿ì¸®°¡ ´Ù·çÁö ¾Ê¾Ò´ø)
#1. IS-A¿Í HAS-A #2. À¯½ºÄÉÀ̽º Çü½Ä #3. ¾ÈƼ ÆÐÅÏ #4. CRC Ä«µå #5. ¸ÞÆ®¸¯(Metrics) #6. ½ÃÄö½º ´ÙÀ̾î±×·¥(Sequence Diagram) #7. »óÅ ´ÙÀ̾î±×·¥(State Diagram) #8. ´ÜÀ§ Å×½ºÆÃ(Unit testing) #9. ÄÚµù ±ÔÄ¢°ú Àб⠽¬¿î ÄÚµå #10. ¸®ÆÑÅ丵(Refactoring)
ºÎ·Ï B. °´Ã¼ÁöÇâ ¾ð¾î·Î ¸»Çϱâ
UML°ú Ŭ·¡½º ´ÙÀ̾î±×·¥ »ó¼Ó ´ÙÇü¼º ĸ½¶È ÇÙ½É Á¤¸® |
 |
|
 |
ºê·¿ ¸Æ·¡ÇÁ¸° ¾îÄí½ºÆ½ ÇΰŽºÅ¸ÀÏ ºí·ç½º¿Í ÀçÁî,±×¸®°í ÇÏÀÌ¿£µå ¸ÂÃ㠾DZ⿡ ºüÁ®ÀÖ´Â »ç¶÷µéÀº Áö°©À» Àß ¿Áö ¾Ê½À´Ï´Ù. ºê·¿ ¸Æ·¡ÇÁ¸°Àº ÀÌ·± Çö½ÇÀ» ¿©ÀüÈ÷ °ÅºÎÇÏ°í ½ÍÀº ±âŸ ¿¬ÁÖ°¡ÀÔ´Ï´Ù. ±×·±µ¥ ±×´Â »ç¶÷µéÀ» ´õ ³ªÀº ÇÁ·Î±×·¡¸Ó·Î ¸¸µé ¼ö ÀÖ´Â ±×·± Ã¥À» ¾´´Ù¸é µ·À» ¹ú ¼ö ÀÖ´Ù´Â »ç½ÇÀ» ÃÖ±Ù ±ú´Þ¾Ò½À´Ï´Ù. ±×´Â ÀÌ »ç½Ç¿¡ Çàº¹ÇØ ÇÕ´Ï´Ù. ºê·¿ÀÌ Head FirstÀÇ ¼¼»óÀ» Á¢ÇÑ °ÍÀº Nextel Communications and Allegiance Telecom¿¡ ¿£ÅÍÇÁ¶óÀÌÁî ÀÚ¹Ù ¾ÖÇø®ÄÉÀ̼ÇÀ» ¸¸µé¾îÁÖ°í ÀÖÀ» ¶§¿´½À´Ï´Ù. ÀÏÀÌ Á» ½ÃµéÇØÁöÀÚ ºê·¿Àº ¾ÖÇø®ÄÉÀÌ¼Ç ¼¹ö¸¦ ¶â¾îº¸±â·Î Çß½À´Ï´Ù. ±×°ÍÀº ·çÆ®¸®½º ¿£ÇÏÀ̵å¶ó¶ó´Â À̸§ÀÇ ¼ºí¸´ ¿£ÁøÀÌÀÚ EJB ÄÁÅ×À̳ʿ´½À´Ï´Ù. ±×·¯¸é¼ ºê·¿Àº ¿ÀǼҽº¿¡µµ °ü½ÉÀ» °®°Ô µÇ¾ú°í, ÀÚÄ«¸£Å¸ Åͺó, JDOM °°Àº ¸ÚÁø ÇÁ·Î±×·¡¹Ö µµ±¸¸¦ ¸¸µå´Âµ¥µµ ±â¿©Çß½À´Ï´Ù. ºê·¿¿¡°Ô ÇÏ°í ½ÍÀº ¸»ÀÌ ÀÖ´Ù¸é brett@oreilly.comÀ¸·Î ¸ÞÀÏÀ» º¸³»¼¼¿ä.
°Ô¸® Æú¸®½º °Ô¸® Æú¸®½º´Â ¾÷°è¿¡¼ 35³â ÀÌ»óÀ» Ä¿¼ µÇ°í ½ÍÀº »ç¶÷ÀÌ ¾î¶² »ç¶÷ÀÎÁö ¾Ë¾Æ³»·Á°í ¾ÆÁ÷µµ ³ë·ÂÇÏ´Â ÀÚĪ ½É¼úÀïÀÌ(±î´Ù·Ó°í, ¼ºÁúÀÌ °í¾àÇϰí, ´ë°³ ´ÄÀº »ç¶÷)ÀÔ´Ï´Ù. ¾ÆÁ÷ ´Ù Å©Áø ¾Ê¾ÒÁö¸¸, 2003³â ´ëÇÐÀ¸·Î ¿Å°Ü ´ÙÀ½ ¼¼´ëÀÇ ¼ÒÇÁÆ®¿þ¾î °³¹ßÀÚµéÀ» ¡°ç°í°´À» À§ÇØ °³¹ßÇ϶ó, ÆÀ¿øÀ¸·Î ÀÏÇÏ´Â ¹ýÀ» ¹è¿ö¶ó, ¼³°è¿Í ÄÚµåÀÇ Ç°Áú°ú ¿ì¾ÆÇÔ, Á¤È®¼ºÀÌ Áß¿äÇÏ´Ù, À§´ëÇÑ ÄÄÇ»ÅÍ ¸Å´Ï¾Æ¶ó¸é ¹Ùº¸ °°´Ù´Â ¼Ò¸®¸¦ µé¾îµµ ±¦Âú´Ù¡±ç´Â ±ÞÁøÀûÀÎ »ý°¢À» ÀüÆÄÇϰí ÀÖ½À´Ï´Ù. °Ô¸®´Â ¿ö¼¼½ºÅÍ Æú¸®Å×Å©´Ð ´ëÇÐÀÇ ½Ç¹« ±³¼ö(±³¼ö°¡ µÇ±â Àü¿¡ ½Ç¹« °æÇèÀÌ ÀÖÀ½À» ÀǹÌ)ÀÔ´Ï´Ù. ±×ÀÇ ¾Æ³» ºñŰ¿Í ¾Ë·ÎÀ̽þ, ÀÌÅ©³ªÆ¼¿ì½º¶ó´Â µÎ ¸¶¸®ÀÇ °³¿Í ¸Þ»çÃß¼¼Ã÷¿¡ »ì°í ÀÖ½À´Ï´Ù. ±×ÀÇ È¨ÆäÀÌÁö´Â http://web.cs.wpi.edu/~gpollice/¿¡¼ ¹æ¹®ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¾ðÁ¦µçÁö ¹æ¹®ÇØ Ã¥¿¡ ´ëÇÑ ºÒÆòÀ̳ª ĪÂùÀ» ³²°Ü ÁÖ¼¼¿ä.
µ¥ÀÌºê ¿þ½ºÆ® µ¥ÀÌºê ¿þ½ºÆ®´Â ÀÚ½ÅÀ» À̽½¶÷±³µµ¶ó°í ¼³¸íÇÏ°í ½Í¾î ÇÕ´Ï´Ù. ÇÏÁö¸¸ ¾Æ¹«µµ ±×¸¦ ±×·¸°Ô ¼³¸íÇÏÁö ¾Ê½À´Ï´Ù. »ç¶÷µéÀº ±×¸¦ ¼ÒÇÁÆ®¿þ¾î °³¹ß ¹æ¹ýÀ» ¿Á¤°ú ¿¡³ÊÁö¸¦ °¡Áö°í ¼³¸íÇÏ´Â ¿µ±¹ÀÎÀ̶ó°í ÇÕ´Ï´Ù. ÃÖ±Ù¿¡ À̹٠¾ßÄß½¼ ÄÁ¼³ÆÃÀ¸·Î ¿Å°Ü¼, ¹Ì±¹ Áö»ç¸¦ °æ¿µÇÏ°í ¼ÒÇÁÆ®¿þ¾î °³¹ß¿¡ ´ëÇÑ ¾ê±â¿Í ·°ºñ, Ã౸¿¡ ´ëÇÑ ¾ê±â, ±×¸®°í Å©¸®ÄÏÀÌ ¾ß±¸º¸´Ù ´õ Àç¹ÌÀÖ´Ù´Â ÁÖÀåÀ» Çϰí ÀÖ½À´Ï´Ù. À̹٠¾ßÄß½¼ ÄÁ¼³ÆÃ ¹Ì±¹ Áö»ç¸¦ ¿î¿µÇϱâ Àü¿¡, ·¡¼î³¯ ¼ÒÇÁÆ®¿þ¾î(Áö±ÝÀº IBM¿¡ ÇÕº´)¿¡¼ ¿À·§µ¿¾È ÀÏÇß½À´Ï´Ù. ·¡¼î³¯°ú IBM¿¡¼ RUP¸¦ À§ÇÑ ÇÁ·Î´öÆ® ¸Å´ÏÀú¸¦ Æ÷ÇÔÇØ ¸¹Àº °æÇèÀ» ÇÏ¿´°í, ÇÁ·Î¼¼½º Ç÷¯±×Àΰú RUPÀÇ ¾ÖÁú¸®Æ¼(agility)¿¡ ´ëÇÑ °³³äÀ» ¼Ò°³Çß½À´Ï´Ù. µ¥À̺êÀÇ À̸ÞÀÏÀº dwest@ivarjacobson.comÀÔ´Ï´Ù.
½Å±¤¿¬ »ï¼¶ SDS(ÁÖ)¿¡¼ À¥¼ºñ½º °³¹ßÀ» ´ã´çÇϰí ÀÖ½À´Ï´Ù.
¹ÚÁ¾°É (ÁÖ)Visoft¿¡¼ BPMS(Business Process Management System) °ü·Ã °³¹ßÀ» ´ã´çÇϰí ÀÖ½À´Ï´Ù.
|
 |
|
|
|
|
|
|
|
|
|
|
|