|
µ¨¸¶´ç °ø½Ä ÀºÇà°èÁ |
ÇϳªÀºÇà 227-910235-83607 |
¿¹±ÝÁÖ ÀÌ»ó±¹(¿î¿µÁø) |
|
|
|
|
|
|
|
|
|
|
°ÁÂ, ÆÁ, Á¤º¸ |
°ÁÂ, ÆÁ, Á¤º¸ ÀÔ´Ï´Ù. |
|
|
|
µ¨ÆÄÀÌ °´Ã¼ÁöÇâÇÁ·Î±×·¡¹ÖÀ» À§ÇÑ 20°¡Áö ±ÔÄ¢ |
¼Ò¹éÃÌ´ß
(¼Õ´Ô)
2004-10-27 ¿ÀÈÄ 5:13:04
Ä«Å×°í¸®:
ÆÁ
11988ȸ Á¶È¸
µî·ÏµÈ ÆÄÀÏÀÌ ¾ø½À´Ï´Ù.
|
|
|
µ¨ÆÄÀÌ °´Ã¼ÁöÇâÇÁ·Î±×·¡¹ÖÀ» À§ÇÑ 20°¡Áö ±ÔÄ¢
µ¨ÆÄÀÌ °´Ã¼ÁöÇâÇÁ·Î±×·¡¹ÖÀ» À§ÇÑ 20°¡Áö ±ÔÄ¢ |
|
ÇÑÀÇ¿ø ¾ÆÀú¾¾·ÎºÎÅÍ ºÎŹÀÌ ÀÖ¾î¼ ¹ø¿ªÀ» ÇÏ°Ô µÇ¾ú½À´Ï´Ù. ¹ø¿ªÀÌ ÀÚ¿¬½º·´°Ô µÇ¸é ÁÁ°Ú´Âµ¥ ¾î¶³Áö ¸ð¸£°Ú³×¿ä.
Àúµµ °øºÎÇÏ´Â °Å¶ó »ý°¢ÇÏ°í ½ÃÀÛÇÏ°Ô µÇ¾ú½À´Ï´Ù.
ÀоîÁּż °¨»çÇÕ´Ï´Ù.
´ëºÎºÐÀÇ µ¨ÆÄÀÌ ÇÁ·Î±×·¡¸ÓµéÀº ±×µéÀÇ Á÷Á¢ ÀÛ¾÷À» ÇÏÁö ¾Ê°íµµ Visual Basic[Editor´Â °£´ÜÈ÷ µÎ·Á¿òÀ» ¶³ÃĹö·ÁÁÖÁö¿ä...]ó·³ °³¹ßȯ°æÀ» »ç¿ëÇÏÁö¿ä. µ¨ÆÄÀÌ´Â °·ÂÇÑ VCL ±¸Á¶¿Í Á¦°¢±â µ¨ÆÄÀÌ ¾îÇø®ÄÉÀ̼ǿ¡ °´Ã¼ÁöÇâ ¾ÆÅ°ÅØÃÄÀÇ ±Ùº»À» µÎ°í ÀÖ½À´Ï´Ù.
ÀÌ ±Û¿¡¼ ÇÊÀÚ´Â OOP ÀÌ·ÐÀ» ÁÖÀåÇÏ·Á´Â °ÍÀÌ ¾Æ´Ï¶ó ¿©·¯ºÐÀÌ ÇÁ·Î±×·¥ÀÇ ±¸Á¶¸¦ °³¼±Çϵµ·Ï µµ¿òµÉ ¸¸ÇÑ ¸î°¡Áö °£´ÜÇÑ Á¦¾ÈÀ» ÇÒ±î ÇÕ´Ï´Ù. ³ª¿µÇ´Â ±ÔÄ¢µéÀº ¿©·¯ºÐÀÌ ÀÛ¼ºÇÏ´Â ¾îÇø®ÄÉÀ̼ÇÀÇ ½ÇÁ¦ ÇüÅ¿¡ Àû¿ëµÉ ¼öµµ ¾ÈµÉ ¼öµµ ÀÖ½À´Ï´Ù. ±×³É ÇÊÀÚ°¡ ÇÏ´Â Á¦¾ÈÇÏ´Â ±ÔÄ¢µéÀ» ±â¾ïÇØÁÖ½Ã¸é °í¸¿Áö¿ä. ^^
Á¦°¡ Á¦ÀÏ °Á¶ÇÏ´Â ¿øÄ¢Àº ĸ½¶ÈÀä. ¿ì¸®´Â ÇÁ·Î±×·¥ÀÇ ´Ù¸¥ ºÎºÐ¿¡ ¿µÇâÀ» ÁÖÁö ¾Ê°í Â÷ÈÄ¿¡ Äڵ带 º¯°æÇÒ ¼ö ÀÖ´Â À¯¿¬¼º°ú ³»±¸¼ºÀÌ Àִ Ŭ·¡½º¸¦ »ý¼ºÇÏ±æ ¹Ù¶ó°í ÀÖ½À´Ï´Ù. ´ÜÁö ÁÁÀº OOPÀÇ À¯ÀÏÇÑ Ã´µµ´Â ¾Æ´Ï¶óµµ, OOPÀÇ ±âÃʶó°í ÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×·¡¼ ÇÊÀÚ°¡ ÀÌ ±Û¿¡¼ Á¤¸» OOP¸¦ Áö³ªÄ¡°Ô °Á¶Çϴµ¥¿¡´Â ¸î°¡Áö ±×·²½ÎÇÑ ÀÌÀ¯°¡ ÀÖ½À´Ï´Ù.
¸¶Áö¸·À¸·Î, ÀÌ·¯ÇÑ ¿øÄ¢µéÀÌ µ¨ÆÄÀÌ ÇÁ·Î±×·¡¸Ó¿¡ ÀÇÇØ ÀÏ»ó »ýÈ°¿¡¼ »ç¿ëµÈ´Ù´Â »ç½ÇÀ» °Á¶Çϱâ À§Çؼ, ÇÊÀÚ´Â ¿©·¯°¡Áö ±ÔÄ¢µéÀÌ ÄÄÆ÷³ÍÆ®ÀÇ °³¹ß¿¡ ¶È°°ÀÌ Àû¿ëµÇ°í ÀÖ´õ¶óµµ ÁÖ·Î Æû °³¹ß¿¡ ÃÊÁ¡À» ¸ÂÃâ·Á°í ÇÕ´Ï´Ù. ÄÄÆ÷³ÍÆ®¸¦ ÀÛ¼ºÇÏ´Â ÇÁ·Î±×·¡¸Ó´Â ƯÈ÷ OOP¿Í Ŭ·¡½º¸¦ »ý°¢ÇؾßÇÕ´Ï´Ù. ¶§¶§·Î ÄÄÆ÷³ÍÆ®¸¦ »ç¿ëÇÏ´Â ÇÁ·Î±×·¡¸Ó´Â OOP¿¡ °üÇØ ÀØ°í Àִµ¥ ÀÌ ±â»ç°¡ ȸ»ó½ÃÄÑÁÙ ¼öµµ ÀÖ°ÚÁÒ.
Part 1: ÆûÀº °ð Ŭ·¡½º´Ù
ÇÁ·Î±×·¡¸Ó´Â ¿ÀºêÁ§Æ®·Î¼ ÆûÀ» Ãë±ÞÇÏÁÒ. »ç½Ç, ÆûÀº Ŭ·¡½ºÀε¥ ¸»ÀÌÁÒ. ¿©±â¼ Â÷ÀÌÁ¡Àº µ¿ÀÏÇÑ Æû Ŭ·¡½º¸¦ ¹ÙÅÁÀ¸·Î ´ÙÁß Æû ¿ÀºêÁ§Æ®¸¦ °¡Áú ¼ö ÀÖ´Ù´Â °ÍÀÌÁÒ. ÇÞ°¥¸®´Â °ÍÀº µ¨ÆÄÀÌ´Â ¿©·¯ºÐÀÌ Á¤ÀÇÇÑ ¸ðµç Æû Ŭ·¡½º¸¦ ±âº»ÀûÀ¸·Î ±Û·Î¹ú ¿ÀºêÁ§Æ®¸¦ »ý¼ºÇÑ´Ù´Â °ÍÀÔ´Ï´Ù. ÀÌ´Â ÇÁ·Î±×·¡¸Ó¸¦ ¾ÆÁÖ Ãʺ¸ÀûÀÎ °ÍÀÌ°í ³ª»Û ½À°üÀ¸·Î ºü¶ß¸± ¼ö ÀÖ½À´Ï´Ù.
Rule 1: À¯´Ö Çϳª¿¡ Ŭ·¡½º Çϳª!
Ç×»ó ±â¾ïÇϼ¼¿ä, Ŭ·¡½ºÀÇ private°ú protected ºÎºÐÀº ´ÜÁö, ´Ù¸¥ À¯´Ö¿¡¼ Ŭ·¡½º¿Í ÇÁ·Î½ÃÀú¿¡¼´Â ¼û°ÜÁø´Ù´Â °ÍÀ» ¸»ÀÔ´Ï´Ù. µû¶ó¼ È¿°úÀûÀΠĸ½¶È¸¦ ÇÏ·Á ÇÑ´Ù¸é, ¸ðµç Ŭ·¡½º¿¡ ´ëÇØ °¢ÀÚ ´Ù¸¥ À¯´ÖÀ» »ç¿ëÇØ¾ß ÇÑ´Ù´Â °ÍÀÔ´Ï´Ù. ´Ù¸¥ Ŭ·¡½º¿¡¼ Ŭ·¡½º¸¦ »ó¼ÓÇÏ´Â °£´ÜÇÑ Å¬·¡½º¿¡ ´ëÇؼ´Â, ½ÇÁ¦·Î °øÀ¯ À¯´ÖÀ» »ç¿ëÇÒ ¼ö ÀÖÁö¸¸, ´ÜÁö Ŭ·¡½ºÀÇ ¼ö¸¦ Á¦ÇÑÇÑ´Ù¸é: ÇϳªÀÇ À¯´Ö¿¡¼ 20°³ÀÇ Å¬·¡½ºÀÇ º¹ÇÕÀûÀÎ °èÃþÀ» À§Ä¡½ÃÅ°Áö ¸»¾ÒÀ¸¸é ÇÏ´Â °ÍÀÌÁö¿ä. º¼·£µå¿¡¼ VCL¼Ò½º Äڵ忡 ´ë·®À¸·Î °øÀ¯ À¯´ÖÀ» ÀÛ¼ºÇßÀ»Áö¶óµµ... Æû¿¡ ´ëÇØ »ý°¢ÇÏÀÚ¸é, µ¨ÆÄÀÌ´Â ´Ü¼øÈ÷ 'ÇÑ Å¬·¡½º¿¡ ÇÑ À¯´Ö' ¿øÄ¢À» °í¼öÇÏ°í ÇÁ·ÎÁ§Æ®¿¡ ÆûÀÌ ¾Æ´Ñ Ŭ·¡½º¸¦ Ãß°¡ÇÒ ¶§´Â »õ À¯´ÖÀ» »ý¼ºÇÏ°í ÀÖ½À´Ï´Ù.
Rule 2: ÄÄÆ÷³ÍÆ® ¸í
ÆûÀ̳ª À¯´Ö¿¡ ÀǹÌÀÖ´Â ¸í¸íÀ» ÇÏ´Â °ÍÀº ¾ÆÁÖ Áß¿äÇѵ¥¿ä. ¾ÈŸ±õ°Ôµµ, ÀÌ µÎ ¸íĪÀº AboutForm°ú About.pas¿Í °°ÀÌ ÀÌ µÎ°¡Áö¿¡ ´ëÇØ À¯»çÇÑ À̸§À» ÁÖ·ÁÇصµ ¹Ýµå½Ã ´Þ¶ó¾ß ÇÕ´Ï´Ù.
¶ÇÇÑ ÄÄÆ÷³ÍÆ®¿¡ ´ëÇÑ Àû´çÇÑ ¸íĪ »ç¿ëµµ Áß¿äÇѵ¥¿ä. °¡Àå ÀϹÝÀûÀΠǥ±â´Â btnAdd ³ª editName °ú °°Àº ÄÄÆ÷³ÍÆ®ÀÇ ¿ªÇÒ¿¡ µû¶ó, Ŭ·¡½º ŸÀÔ¿¡ ´ëÇØ ¼Ò¹®ÀÚ·Î ¸Ó¸®±ÛÀÚ¸¦ »ç¿ëÇÏ´Â °ÍÀÔ´Ï´Ù. ÀÌ ½ºÅ¸ÀÏ¿¡ µû¶ó ½ÇÁ¦·Î ¸¹Àº À¯»çÇÑ Ç¥±â¹æ¹ýÀÌ Àִµ¥¿ä. ÀÌ ¹æ¹ýÀ» °¡Àå ÁÁÀº ¹æ¹ýÀ̶ó°í ÇÒ ¼ö´Â ¾ø°ÚÁö¸¸ °³ÀÎÀûÀÎ ÃëÇâÀÌ Àִ°Š¾Æ´Ï°Ú½À´Ï±î!
Rule 3: À̺¥Æ® ¸í
À̺¥Æ® Çڵ鸵 ¸Þ¼Òµå¿¡ Àû´çÇÑ ¸íĪÀ» ºÎ¿©ÇÏ´Â °Í ¶ÇÇÑ ½±°Ô »ý°¢ÇÒ ÀÏÀº ¾Æ´ÏÁÒ. ¿¹¸¦µé¾î, Button1Click À̶ó´Â ÄÄÆ÷³ÍÆ®¸íÀÌ ÀÖ´Ù°í Çϱ¸¿ä. ¸Þ¼Òµå¸íÀÌ ¹öÆ°¸í¿¡¼ »ý¼ºµÇ´Â °ÍÀ̶ó°í ÃßÃøÇÏ°ÚÁö¸¸, ÄÄÆ÷³ÍÆ®¸í¿¡ Ãß°¡µÈ ¸Þ¼Òµå¸í º¸´Ù´Â ¸Þ¼ÒµåÀÇ ±â´ÉÀ» Àß ¼³¸íÇÏ´Â ¸íĪÀÌ ´õ ³ª´Â ¹æ¹ýÀ̶ó´Â »ý°¢À» ÇÏ°Ô µË´Ï´Ù. ¿¹¸¦µéÀÚ¸é, btnAdd ¹öÆ°ÀÇ OnClick À̺¥Æ®´Â AddToList¶ó°í ÇÒ ¼öµµ ÀÖ°ÚÁö¿ä. ÀÌ ¹æ¹ýÀº ƯÈ÷ Ŭ·¡½ºÀÇ ´Ù¸¥ ¸Þ¼Òµå·ÎºÎÅÍ À̺¥Æ® Çڵ鷯¸¦ È£ÃâÇÒ ¶§ Æǵ¶¼ºÀÌ ÁÁ¾ÆÁö±¸¿ä. ÇÊÀÚ°¡ Actions¸¦ »ç¿ëÇÏ´Â °ÍÀÌ ´õ ÁÁ´Ù°í ¸»ÇÏ°í ½ÍÁö¸¸ °°Àº ¸Þ¼Òµå¸¦ ´Ù¾çÇÑ À̺¥Æ®³ª ´Ù¸¥ ÄÄÆ÷³ÍÆ®¿¡ Ãß°¡Çϴµ¥ ÀÖ¾î °³¹ßÀÚ¿¡°Ô µµ¿òÀÌ µË´Ï´Ù.
Rule 4: Æû ¸Þ¼Òµå¸¦ »ç¿ëÇÏÀÚ
ÆûÀÌ Å¬·¡½º¶ó¸é ±× ÄÚµå´Â ¸Þ¼Òµå·Î ÀÌ·ç¾îÁý´Ï´Ù. °Ô´Ù°¡ Ưº°ÇÑ ¿ªÇÒµµ ÇÏ°í ´Ù¸¥ ¸Þ¼Òµå·Î¼µµ È£Ãâ°¡´ÉÇÑ À̺¥Æ® Çڵ鷯´Â »ç¿ëÀÚ ¸Þ¼Òµå¸¦ Æû Ŭ·¡½º¿¡ Ãß°¡ÇÏ´Â°Ô Á¾Á¾ À¯¿ëÇÒ°Ô ¸ÔÈú ¶§°¡ ÀÖ½À´Ï´Ù. ¿©·¯ºÐÀº ÆûÀÇ ¾×¼ÇÀ» ¼öÇàÇÏ°í »óŸ¦ ¾×¼¼½ºÇÏ´Â ¸Þ¼Òµå¸¦ Ãß°¡ÇÒ ¼öµµ ÀÖ½À´Ï´Ù. ¸»ÇÏÀÚ¸é, ÆûÀÇ ÄÄÆ÷³ÍÆ®¸¦ ´Ù¸¥ Æû¿¡¼ Á÷Á¢ Á¶ÀÛÇÏ´Â °Íº¸´Ù´Â ÆûÀÇ public ¸Þ¼Òµå¸¦ »ç¿ëÇÏ´Â °ÍÀÌ ´õ ³´´Ù´Â °ÍÀÌÁö¿ä.
Rule 5: Æû »ý¼ºÀÚ¸¦ Ãß°¡ÇÏÀÚ
½Ç½Ã°£¿¡ »ý¼ºµÈ µÎ¹ø° ÆûÀº µðÆúÆ®·Î ÀÖ´Â °Å ¿Ü¿¡ ƯÁ¤ »ý¼ºÀÚ¸¦ ÀÛ¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù( »ó¼ÓµÈ Æû TComponent Ŭ·¡½º). µ¨ÆÄÀÌ ÀÌÀü ¹öÀü°ú ȣȯÀÌ ÇÊ¿ä¾ø´Ù¸é, ÇÊÀÚÀÇ Á¦¾ÈÀº ÃʱâÈ ÆĶó¸ÞÅÍ¿Í ÇÔ²² Create ¸Þ¼Òµå¸¦ ¿À¹ö·Îµå(overload)ÇÏ´Â °ÍÀÔ´Ï´Ù. ¿¹Á¦ 1À» º¾´Ï´Ù.
public constructor Create (Text: string); reintroduce; overload; constructor TFormDialog.Create(Text: string); begin inherited Create (Application); Edit1.Text := Text; end;
¿¹Á¦ 1
|
Rule 6: Àü¿ª º¯¼ö¸¦ ÇÇÇÏÀÚ
(À¯´ÖÀÇ Interface ºÎºÐ¿¡ ¼±¾ðµÈ) Àü¿ª º¯¼ö´Â µÇµµ·Ï ÇÇÇϵµ·Ï ÇÕ´Ï´Ù. ¿©±â¿¡ ±¦ÂúÀº Á¦¾ÈÀ» º¸¿©ÁÖ°Ú½À´Ï´Ù.
¿©·¯ºÐµé Æû¿¡ ¿©ºÐÀÇ µ¥ÀÌÅÍ ÀúÀå°ø°£ÀÌ ÇÊ¿äÇÏ´Ù¸é, private ÇʵåµéÀ» »ç¿ëÇØ º¸¼¼¿ä. ÀÌ °æ¿ì¿¡ °¢ Æû ÀνºÅϽº´Â µ¥ÀÌÅÍÀÇ º¹»çº»À» °¡Áö°Ô µÇ°í, Æû Ŭ·¡½ºÀÇ ¿©·¯ ÀνºÅϽºµé Áß¿¡¼ °øÀ¯µÈ µ¥ÀÌÅÍ¿¡ ´ëÇÑ À¯´Ö º¯¼öµé(À¯´ÖÀÇ implementation ºÎºÐ¿¡ ¼±¾ðµÈ)À» ¿©·¯ºÐÀÌ »ç¿ëÇÏ°Ô µÇ´Â °Ì´Ï´Ù.
¿©·¯ºÐÀÌ ´Ù¸¥ ŸÀÔÀÇ Æûµé »çÀÌ¿¡¼ °øÀ¯µÈ µ¥ÀÌÅÍ°¡ ÇÊ¿äÇÏ´Ù¸é, ¸ÞÀÎ ÆûÀ̳ª Àü¿ª °³Ã¼¿¡¼ µ¥ÀÌÅ͸¦ ³õ°í µ¥ÀÌÅ͸¦ °øÀ¯ÇÒ¼öµµ ÀÖ°í µ¥ÀÌÅ͸¦ ¾×¼¼½ºÇϱâ À§ÇØ ¸Þ¼Òµå³ª ÇÁ·ÎÆÛƼ¸¦ »ç¿ëÇÒ ¼öµµ ÀÖ½À´Ï´Ù.
Rule 7: TFrom1 ¿¡¼´Â Form1¸¦ »ç¿ëÇÏÁö ¸»ÀÚ
ƯÁ¤ ¿ÀºêÁ§Æ®ÀÇ Å¬·¡½ºÀÇ ¸Þ¼Òµå¿¡¼ ƯÁ¤ ¿ÀºêÁ§Æ®¸¦ ÂüÁ¶ÇÏÁö ¸»¾Æ¾ß ÇÕ´Ï´Ù. ¹Ù²Ù¾î ¸»Çϸé, TForm1 Ŭ·¡½ºÀÇ ¸Þ¼Òµå¿¡¼ Form1 À» ÂüÁ¶ÇÏÁö ¸¶¶ó´Â °Ì´Ï´Ù. ÇöÀç ¿ÀºêÁ§Æ®¿¡ ´ëÇÑ ÂüÁ¶°¡ ÇÊ¿äÇÏ´Ù¸é, Self Å°¿öµå¸¦ »ç¿ëÇÏ½Ã¸é µË´Ï´Ù. Á÷Á¢ ÇöÀç ¿ÀºêÁ§Æ®ÀÇ ¸Þ¼Òµå¿Í µ¥ÀÌÅ͸¦ ÂüÁ¶ÇÒ ¼ö Àֱ⠶§¹®¿¡, ´ëºÎºÐÀÇ °æ¿ì ÇÊ¿äÄ¡ ¾Ê´Ù´Â °ÍÀ» ½ÊºÐ ÀÎÁö ÇϽñ⠹ٶø´Ï´Ù.
¿©·¯ºÐÀÌ ÀÌ ±ÔÄ¢¿¡ µû¸£Áö ¾Ê´Â´Ù°í ºÃÀ» ¶§¿¡´Â ÆûÀÇ ¿©·¯ ÀνºÅϽº¸¦ »ý¼ºÇÒ ¶§ ¹®Á¦ ¹ß»ýÀÇ ¿©Áö°¡ ¸¹½À´Ï´Ù.
|
|
|
|
|
|
|
|
|
|
|
|
|