home *** CD-ROM | disk | FTP | other *** search
/ Java 1.2 How-To / JavaHowTo.iso / 3rdParty / Bluette / Plastic / manual / manual.doc (.txt) < prev   
Word Document  |  1997-07-24  |  14MB  |  1,264 lines

  1.  
  2. 1. Plastic∞âç δ│Æδé│
  3.  
  4. 1.1 Plastic ∞âîδ¢╡?
  5.  
  6. Plastic∞é║ δé┤∞Ä╝∞ç╢∞ƒó δú░δû¿δó╡ ∞ù╕δƒÄδ╖í δé┤∞Ä╝∞ç╢∞ƒó δ│Æ∞ƒü∞Ü«δ┐╛δ╗« δé│맟∞é╗ ∞éº∞ƒÿδ▓¡ ∞ƒèδ┐ñ∞ƒæ
  7. ∞â╜∞ï╖∞âÄ δú░δû¿δó╡∞âç ∞â¢δ╗╖∞é╗ ∞éº∞ƒæ δû╡δå╕ δºù ∞ó»δâª∞é╗ ∞åªδâ╕∞ƒÅδúº, δ┐Åδ▓║δùê δú░δû¿∞é║
  8. Javaδ╗░δ╗«∞âç prototype∞é╕δƒÄ ∞âÜδû┐δ»╜δ▓║∞ƒÿ ∞çûδôé δçóδôë∞é╗ δéí∞ç╢δâ¡ ∞âûδôÖ.
  9.  
  10. Plastic∞é║ δùÄδéí∞ç╢ ∞Å╕δú⌐δ╛íδ▓¡ δé¡∞åí∞é╗ δéí∞ç╢δâ¡ ∞âûδôéδûÑ, ∞Ä╣∞è░δƒÄ δé┤∞Ä╝∞ç╢∞ƒó δú░δû¿δó╡∞âç
  11. ∞Å╕δú⌐δ╛íδ▓¡δôé δ»╡δƒÄδ┐« δçóδôë∞âÄ Design Patterns∞âç ∞ç╢δ┐╕∞é╗ δù⌐ δ│╢ ∞âûδôÖ. ∞âîδâì∞é║
  12. δ│Æ∞ƒü∞Ü«δ┐╛δ╗« δú░δû¿δó╡δ╛íδ▓¡ ∞âÜ∞çû δºƒδâƒδùçδôé δª«∞åªδù⌐∞é╗ δçóδ│║∞ƒÅδâ¡, δ¢ç∞ƒæ δçùδ₧»∞ƒæ δª«∞åª∞âç
  13. ∞ƒÿδâí δºªδº╜δ╛í δô½∞ƒæ ∞ƒÖδ╖ë∞é╗ δçóδ│║∞ƒÅδ╛⌐ δÅ╡∞é║ δâì∞é╕δƒÄδ╖í, δª«∞媠∞ƒÿδâíδ╛í δô½∞ƒæ δû┐∞âÅ∞ƒæ
  14. δŽδƒé∞âç δº¥δ¬╣δ╗╕∞âî δª«∞媠∞ƒÿδâí∞âç ∞ó┐δâ║δóª δ╗▓∞é╗ δ│╢ ∞âûδôé δâì∞âîδôÖ. ∞ç», δú░δû¿δó╡ ∞â¢δ╗╖δ╛í
  15. ∞âûδ╗«δ▓¡ δúàδ┐¼ ∞û½ δû╡δ┐▓∞âî δùçδ╗«δ▓¡, δ│Æ∞ƒü∞Ü«δ┐╛δ╗« ∞âºδ»ºδ┐½δ▓║ δºù δ½╝δóÑ δ╗û∞ƒâδó«∞ôë∞âîδ│ç
  16. δé│맟∞âî δ┐½∞âî∞ƒÅδôÖ.
  17.  
  18. δùæ∞è░δƒÄδôé Javaδ╗░δ╗«δ┐ì∞âç ∞ù½∞ƒòδùê ∞ó»δâª∞âîδôÖ. δ╗░δ╗«δ╛í δû╢δó│∞â╗∞âÄ δ│Æ∞ƒü∞Ü«δ┐╛δ╗« δú░δû¿δó╡∞âç
  19. ∞â╜∞ï╖δéí δÄíδĬδú⌐ ∞Ü»∞åñ δ╗░δ╗«δóª ∞âîδ┐½∞ƒæ δå╕∞ƒ╢∞é╗ ∞ƒÿδ╗ƒ∞ƒæδôÖ. ∞ƒÅ∞ç╢δó╕ δâíδå╣ δú░δû¿δó╡ ∞ó»δâª∞é╗
  20. δÜ░δĬδ▓¡ ∞â¢δ╗╖∞é╗ ∞ƒÿδ╗ƒ ∞ƒÅδºçδƒÄ δúàδ┐¼ δ½Æ∞¢¡∞ƒæ ∞â¢δ╗╖∞é╗ ∞ƒÅδâöδùêδôÖ. ∞âîδâìδù⌐∞é║ ∞ù½∞ƒòδ╖â∞ôæ
  21. ∞çÿδôÖδú⌐ δú░δû¿δó╡, δå╕∞ƒ╢, δ│╢∞åñ δºù δ¬╕δ┐Å ∞â¢δ╗╖∞é╗ δû┐∞âÅ∞ƒæ ∞ó»δâªδ╛íδ▓¡ ∞ƒÆ δ│╢ ∞âûδâö δùçδºçδƒÄ
  22. ∞¢¡δó«∞ƒÅδâ¡δû╡ δ½╝δóúδâö ∞â¢δ╗╖∞é╗ ∞ƒÆ δ│╢ ∞âûδôÖ. Plasticδ╛íδ▓¡δôé Java Editor δºù Java
  23. source code generation δçóδôë∞é╗ δé«∞Ńδâ¡ ∞âûδ╗«δ▓¡ δú░δû¿δó╡ ∞â¢δ╗╖ ∞âî∞úäδ╛í
  24. δå╕∞ƒ╢∞â¢δ╗╖δ╛íδ▓¡δû╡ δó╣∞é║ δ½Äδ½É∞é╗ ∞âÜδû┐∞ó¡∞ƒÅδ╛┤δâ¡, δ¢ç∞ƒæ ∞¢¡∞ç╜ ∞ó»δâª∞é╗ ∞ù½∞ƒò∞ƒÅδ╛⌐ ∞âîδ₧»∞ƒæ
  25. ∞âò∞åí∞é╗ δ╗▓∞é╗ δ│╢ ∞âûδâö δùçδ╗«∞âûδôÖ.
  26.  
  27. 1.2 Plastic∞âç δçóδôë
  28.  
  29. Plastic∞é║ OMT(Object Modeling Technique)∞âç OMN(Object Model Notation)∞é╗
  30. Javaδ╗░δ╗«δ╛í δúéδâö ∞ó«∞âÑ∞ƒÅδ╛┤δâ¡, δ¢ç∞ƒæ δïÇ ∞ƒèδ┐ñ∞ƒæ δ½Äδ½Éδó╕∞é╗ ∞¢╖δ▓╖∞ƒÅδ╛⌐ Design
  31. Patterns∞é╗ ∞₧Ñ∞ƒ╢∞ƒÆ δ│╢ ∞âûδôé δô£δ│╕∞ƒæ ∞ç╜∞ƒò∞é╕δƒÄ δå╕δ▓║∞ƒÅδ╛┤δôÖ. (∞âî∞ƒÅ Modifed OMN∞âîδ¢│
  32. ∞Ƭ∞ƒö) δù╗δ¢│δ▓¡ ∞₧Ñδçóδº╜∞âç δå│∞é░ δºù ∞âî∞ƒÿδéí δ╢▒δâö δùçδ╗║δôÖ. δçùδó«δâ¡ δé┤∞Ä╝∞ç╢∞ƒó
  33. δ│Æ∞ƒü∞Ü«δ┐╛δ╗« δú░δû¿δó╡δ╛í ∞âûδ╗«δ▓¡ ∞âÜ∞çû δºƒδâƒδùçδôé ∞¢É∞ùÅδù⌐ ∞ç», Design Patterns∞é╗
  34. ∞â¢δ▓║∞ƒÅδâ¡, δ»░∞âö∞ƒÆ δ│╢ ∞âûδôé δçóδôë∞é╗ δéí∞ç╝∞é╕δƒÄ δ»╜们δ▓║ ∞ƒóδ»│, ∞âºδ»ºδ┐½δ▓║, δ½╝δóÑ
  35. δ╗û∞ƒâδó«∞ôë∞âîδ│ç∞âç δé│맟δ╛í ∞û½ δû╡δ┐▓∞é╗ ∞çÖ δ│╢δéí ∞âûδôÖ. δ¢ç∞ƒæ ∞ÅûδçÖ δéí∞âÑ δâ╗δåñδº₧δâ¡ ∞âûδôé
  36. δé┤∞Ä╝∞ç╢∞ƒó δ╗░δ╗«∞âÄ Javaδ╛í δô½∞ƒæ prototype∞é╗ ∞âÜδû┐∞é╕δƒÄ δ»╜δ▓║∞ƒÿ∞çûδú⌐δ▓¡δû╡ ∞ôä∞¢ä∞âÅ δºù
  37. ∞¢¡∞ç╜δçóδôë∞é╗ ∞åªδâ╕∞ƒÅδôé ∞ù½∞ƒòδùê ∞ó»δâª∞é╗ ∞åªδâ╕∞ƒÅδ╛⌐ δô╡δ┐¡ ∞¢¡δó«∞ƒÅδâö δ│Æ∞ƒü∞Ü«δ┐╛δ╗« δé│맟∞é╗
  38. ∞ƒÆ δ│╢δéí ∞âûδôÖ.
  39.  
  40. Modified OMN
  41.  
  42. Javaδ╗░δ╗«δ╛íδ▓¡ ∞åªδâ╕∞ƒÅδôé δé│δÅñδù⌐ class, interface, single class inheritance,
  43. multiple interface inheritance δù«∞é╗ graphical∞ƒÅδâö ∞₧Ñ∞ƒ╢∞ƒÆ δ│╢ ∞âûδû╡δƒÅ OMN∞é╗
  44. ∞ó«∞âÑ∞ƒÅδâ¡, Gamma, Helm, Johnson, Vlissides∞âç Design Patterns∞é╗ ∞₧Ñ∞ƒ╢∞ƒÆ δ│╢
  45. ∞âûδû╡δƒÅ ∞ƒÅδú⌐δ▓¡δû╡ ∞Åûδ│Æ∞ƒæ∞âç ∞ç╜∞ƒò∞é╕δƒÄ δå╕δ▓║∞ƒÅδ╛┤δôÖ.
  46.  
  47. δçùδó«δâ¡ Modeling∞â¢δ╗╖∞âç δª«δ▓¡∞ó¡δóª ∞éº∞ƒÿδ▓¡ Diagram∞é╗ δç║δï╜∞ƒÅδâö ∞ƒüδó░∞Ü«δƒÄ
  48. ∞Åóδƒé∞ƒÿ∞çÿδôÖ. ∞âîδ₧»∞ƒæ δª«δ▓¡∞ó¡δùê δôÖ∞âîδ╗«δçùδ₧Ñ∞âç δâ╕∞é»δóª ∞ƒÅδâöδùçδú⌐ ∞ƒüδƒÄ∞åº∞Ü«
  49. ∞¢Çδ┐╕δù⌐δéú∞âç δ│Æ∞ƒü∞Ü«δ┐╛δ╗« δú░δû¿∞âç ∞âî∞ƒÿδû╡δóª ∞ç╡∞ç╕δ╖â∞û│ δ│╢ ∞âûδôÖ.
  50.  
  51. Design Patterns
  52.  
  53. pattern∞âîδ¢╡ δ│Æ∞ƒü∞Ü«δ┐╛δ╗«∞âç δú░δû¿δó╡δ╛íδ▓¡ ∞âÜ∞çû δºƒδâƒδùçδôé δª«∞åªδù⌐∞é╗ δçóδ│║∞ƒÅδâ¡, δ¢ç∞ƒæ
  54. δçùδ₧»∞ƒæ δª«∞åª∞âç solutionδ╛í δô½∞ƒæ ∞ƒÖδ╖ë∞é╗ δçóδ│║∞ƒÿ δÅ╡∞é║ δâì∞é╕δƒÄδ╖í, δª«∞媠∞ƒÿδâíδ╛í δô½∞ƒæ
  55. δû┐∞âÅ∞ƒæ δŽδƒé∞âç δº¥δ¬╣δ╗╕∞âî δª«∞媠∞ƒÿδâí∞âç ∞ó┐δâ║δóª δ╗▓∞é╗ δ│╢ ∞âûδôé δúàδ┐¼ δé¡δƒé∞ƒæ ∞âÑ∞åí∞é╗
  56. δéí∞ç╕ δâì∞âîδôÖ.
  57.  
  58. Plasticδ╛íδ▓¡δôé ∞âîδ₧»∞ƒæ patternδù⌐∞é╗ δ»ºδ┐½∞âÜδéí ∞ç╖∞åó δçóδ│║∞ƒÅδ╛⌐ ∞â║∞âÑ∞ƒÆ δ│╢ ∞âû∞é╕δúº,
  59. δ¢ç∞ƒæ δ╢▒δâö ∞âÜδ╖à∞âç δú░δû¿δƒÄ δ»░∞âö∞ƒÆ δ│╢δéí ∞âûδôÖ. δçùδó«δâ¡ Gamma, Helm, Johnson,
  60. Vlissidesδéí ∞åªδ╗ê∞ƒæ δ╛⌐δ₧»δéí∞ç╢∞âç patterns∞é╗ ∞¢╖∞ƒö∞ƒÅδâ¡ ∞âûδ╗«δ▓¡ δ▓│δâ¿∞â¢δ╗╖δ╛í δúàδ┐¼
  61. δû╡δ┐▓∞é╗ ∞çÖ δ│╢δéí ∞âûδôÖ. δ»░∞âöδùê patternδû╡ Java sourceδóª δ»╜δ▓║∞ƒÅδôéδûÑ δ╛╡∞ƒó∞é╗ ∞çûδçó
  62. δÜºδª«δ╛í, pattern∞é╗ δâƒδâ¡∞ƒÅδâö δó╕δù⌐δ╗« δùÄδú⌐ ∞âºδ»ºδ┐½∞âîδ¢╡ ∞Å╕δú⌐δ╛íδ▓¡δû╡ ∞çü∞é║ δâíδâ║δóª
  63. δ╗▓∞é╗ δ│╢ ∞âûδôÖ.
  64.  
  65. Supporting Java
  66.  
  67. Java∞âç δú░δùº δçóδôëδù⌐, δ╛╣δóª δù⌐δú⌐ final, static, abstract class, interface,
  68. synchronized δù«, ∞é╗ δú░δùÄ ∞₧Ñ∞ƒ╢∞ƒÅδâ¡ ∞¢¡∞ç╜∞ƒÆ δ│╢ ∞âû∞é╕δúº method, constructorδ╛í
  69. δô½∞ƒæ ∞ç╖∞åó∞â╗∞âÄ δå╕∞ƒ╢δû╡ δ»░∞âö∞ƒÆ δ│╢δéí ∞âûδôÖ. δ¢ç∞ƒæ packageδóª δ╖ç∞ç║∞â╗∞âÄ δú░δû¿δó╡∞âç
  70. δô£∞éºδƒÄ δéí∞åñ∞ƒÅδçó δÜºδª«δ╛í, δâ╝δó«∞âç ∞Å╕δú⌐δ╛íδ▓¡δû╡ δô╡ ∞¢¡δó«∞ƒÅδôÖ. (∞âîδ₧»∞ƒæ δô£∞éºδéí
  71. ∞çûδ╗«∞ç╢∞ç╢ δ╗èδôéδôÖδú⌐ δ»ºδ┐½∞âÜδéí ∞ï╖∞úäδ╛í ∞ƒüδƒÄδçùδ₧Ñ δå╕δ▓║δ╛í δ│ò∞é╗ δ½üδ╗ƒ ∞ƒÅδôé ∞âÅ∞âî
  72. δ»╜δçóδâö δùêδôÖ.) ∞âîδ₧»∞ƒæ δú░δû¿δó╡ δô£∞éºδ╛í ∞û╕∞âî∞Ü▓, ∞â¢δ▓║∞âÜ δºù ∞çûδ▓«∞é╗ δ½Ö∞âÅ δ│╢δéí ∞âûδâ¡,
  73. packageδ╛í ∞ƒèδ┐ñ∞ƒæ ∞åñδ¬╕δù⌐δû╡ ∞¢¡∞ç╜∞ƒÆ δ│╢δéí ∞âûδôÖ. δù╗δ¢│δ▓¡ δ┐Å∞â╝∞ƒæ Java
  74. programming∞é╗ ∞ƒÅδçó∞éº∞ƒæ δû╡δå╕δéí δú░δùÄ ∞åªδâ╕δùçδúº Java Editorδéí ∞¢╖∞ƒöδùçδ╗« ∞âûδâ¡
  75. compile and error reporting∞é╗ ∞ƒæδº╕δ╛í ∞ƒÆ δ│╢ ∞âûδôé ∞¢¡δó«∞ƒö∞é╗ δé«∞Ńδâ¡ ∞âûδôÖ.
  76.  
  77. δçù δº¢∞âç δçóδôë
  78.  
  79. Java Editorδôé Modeling∞âç δâíδâ║δƒÄ δ½Ä∞ùì δ»╜δ▓║δùê δâíδâ║δóª δâ░δºÖδƒÄ δº₧δ╗åδ▓¡ ∞¢¡∞ç╜∞ƒÆ δ│╢
  80. ∞âûδû╡δƒÅ ∞ƒÿ∞çûδúº, δôÖ∞çƒ δª«δ▓¡ ∞¢¡∞ç╜δâ║ JDKδ┐ì δ╛¼δâ¿∞ƒÅδ╛⌐ compile δºù error reportδóª ∞ƒæ
  81. δº╕δ╛í ∞ƒÆ δ│╢ ∞âûδôé δçóδôë∞é╗ δé«∞Ńδâ¡ ∞âûδôÖ. Browserδôé ∞¢¡∞ç╜∞çƒ∞âÄ δú░δû¿∞âç classes,
  82. interfaces, methods, attributes δù«∞é╗ Icon∞é╕δƒÄ ∞âÅδú▒δ┐ñδ╛¼∞ƒÅδâö δ¬╕δ╛⌐∞çûδúº, ∞ƒÿδôº
  83. δ╗å∞âî∞ù¢δ╛í δô½∞ƒæ Javaδ╗░δ╗«∞âç ∞₧Ñ∞ƒ╢∞é╗ ∞ç»δ╖â δ¬╕δ╛⌐∞çûδôé δçóδôë∞é╗ δéí∞ç╢δâ¡ ∞âûδôÖ.
  84.  
  85.  
  86. 2. Object Modeling Notation
  87.  
  88. 2.1 Class Notation
  89.  
  90.                                     [pic]
  91.  
  92. classδ╛í δô½∞ƒæ ∞₧Ñδçóδº╜∞é║ ∞ç╖믧δéó∞ƒ╝∞âç δú░δ╗ºδ╛í δ┐ÇδóÑ∞ïè ∞ƒÅδô£∞é╕δƒÄ δçùδó▓∞âÜδóª δùÑδó«δ┐«
  93. δâì∞âîδôÖ. δçùδó▓∞âÜδóª δÅû∞é║ ∞âî∞é»δôé δºÖδƒÄ interfaceδ┐ì∞âç δå╕δ½É δÜºδª«∞âÄδûÑ, classδéí
  94. interfaceδ¬╕δôÖ δô╡ concrete∞ƒÅδôÖδôé δâì∞é║ δĬ∞û╕δÄ╜ δâì∞âîδôÖ. ∞ç╖믧δéó∞ƒ╝∞é║ 3δ½Äδ½É∞é╕δƒÄ
  95. δĬδÆ╡δ╗« ∞âûδôéδûÑ, δéí∞âÑ ∞é¡∞ïè ∞Æ¡δ╛íδôé class∞âç ∞âîδóº∞é╗ δçó∞âö∞ƒÅδâ¡, δéíδ┐«δûÑ δ½Äδ½Éδ╛íδôé
  96. data fieldδóª δéí∞âÑ δ╗åδ₧ºδ½Äδ½Éδ╛íδôé methodδóª δ╛¡δâà∞ƒæδôÖ.
  97.  
  98. data fields(C++:data members, Eiffel:attirbutes, Smalltalk: instance
  99. variables)δ½Äδ½Éδ╛íδôé data type, data field name, initial value δ│╕∞é╕δƒÄ
  100. ∞₧Ñ∞ƒ╢∞ƒæδôÖ. initial valueδôé δâªδ┐¼δ╛í δù╗δ¢│δ▓¡δôé δ»╜δ₧½δùë δ│╢ ∞âûδôÖ. δ╛╣δóª ∞ƒÅδĬ δù⌐δú⌐,
  101. int Color = WHITE; ∞âîδ₧▒δ╖ä∞é╕δƒÄ ∞₧Ñ∞ƒ╢∞ƒÆ δ│╢ ∞âûδôÖ.
  102.  
  103. methodδôé return type, method name, argument list δ│╕∞é╕δƒÄ ∞₧Ñ∞ƒ╢∞ƒÅδôéδûÑ, return
  104. type∞âî δ╗╖δôé δâªδ┐¼δ╛íδôé δ»╜δ₧½∞ƒæδôÖ. δó╢∞ï╣δéí∞ç╢δƒÄ argumentδéí δ╗╕∞é╕δú⌐ ()δó╕ ∞å╕∞âº∞ƒÅδâö
  105. δùêδôÖ. ∞Ü»∞âî∞ƒæ δâªδ┐¼δƒÄδôé constructorδ╛í δô½∞ƒæ δâì∞âî ∞âûδôéδûÑ, ∞âîδâì∞é║ ∞û¼δ₧íδ╢║∞âç
  106. ∞âîδóºδâ║ δû┐∞âÅ∞ƒÅδúº return type∞âî δ╗╕δôÖ.
  107.  
  108. 2.2 Interface Notation
  109.  
  110.                                     [pic]
  111.  
  112. interfaceδôé δô£δ│╕∞ú╖ δçùδó▓∞âÜ δ╗╕δôé ∞ç╖믧δéó∞ƒ╝∞é╕δƒÄ δĬ∞û╕δÄ╗δúº, classδ┐ì δó╢∞ï╣δéí∞ç╢δƒÄ
  113. 3δ½Äδ½É∞é╕δƒÄ δĬδÆ╡δôéδûÑ name section, constants section, operation section∞âîδ¢│
  114. δ½ÄδóÑδôÖ. name sectionδ╛íδôé interface∞âç ∞âîδóº∞é╗, constants sectionδ╛íδôé δçùδó▓δ╛íδ▓¡
  115. δ¬╕δôé δºÖδ┐ì δé░∞âî ∞û¼δ₧íδ╢║∞âç data fieldδ┐ì ∞é»δ»º∞ƒæ ∞ƒ╝δ╖ä∞é╕δƒÄ δ»│δ│╢δóª ∞åñ∞âç∞ƒæδôÖ. δô£,
  116. δ»│δ│╢δôé initial valueδéí δ»╜δ₧½δùë δ│╢ δ╗╕δôÖ. operations sectionδ╛íδ▓¡δû╡ method∞âç
  117. δâªδ┐¼δ┐ì δé░∞é║ δºªδº╜∞é╕δƒÄ ∞₧Ñ∞ƒ╢∞ƒæδôÖ.
  118.  
  119. 2.3 Inheritance Notation
  120.  
  121.                                     [pic]
  122.  
  123. δ»│δ│ô∞é║ ∞â¢∞é║ δ»»δéó∞ƒ╝∞âç δú░δ╗º∞é╗ superclassδ┐ì subclasses믧∞âîδ╛í δùÄδâ¡ δ»ç∞çô∞ƒæ
  124. δ½Äδ½É∞âî superclassδƒÄ, δçùδ₧╕∞ç╢δ╗è∞é║ δ½Äδ½É∞âî subclassesδƒÄ δéíδû╡δƒÅ δ╛¼δâí∞ƒÅδú⌐ δùêδôÖ.
  125. δ╛⌐δçóδ▓¡ ∞çûδú▒∞ƒÆ ∞åí∞é║ ∞ƒÅδĬ∞âç superclassδ╛í δ╛⌐δ₧»δé│∞âç subclassδéí δ»»δéó∞ƒ╝ δ╖ëδ¬╝∞é╗
  126. ∞ƒÅδĬ δùÄδâ¡ δ▓¡δƒÄ δé░∞âî δ╛¼δâí∞ƒÆ δ│╢ ∞âûδôÖδôé δâì∞âîδôÖ. ∞âîδ₧╕δâö ∞ƒÅδú⌐ δÄ¡∞âó∞ƒö∞é╗ ∞ƒç∞ƒÆ δ│╢
  127. ∞âûδâ¡, δ¬╕δçóδû╡ δ╢▒δôÖ.
  128.  
  129. ∞âîδ₧»∞ƒæ δ»│δ│ôδâ╝δâ¿∞âç ∞₧Ñ∞ƒ╢∞é║ interfaces믧∞âîδ╛íδû╡ δçùδô½δƒÄ ∞â╗δ┐½δùêδôÖ. δô£ classesδ┐ì
  130. interfacesδéí δ▓¡δƒÄ δ╛¼δâíδùë δܺδ╛íδôé classδôé interface∞âç superδéí δùë δ│╢ δ╗╕∞ç╢δó╕,
  131. interfaceδôé class∞âç superδéí δùë δ│╢ ∞âûδôÖδôé ∞åíδ╛í ∞çû∞âç∞ƒÅδçó δºÖδ¢╡δôÖ.
  132.  
  133. 2.4 Association Notation
  134.  
  135.                                     [pic]
  136.  
  137. Association∞é║ δ╖çδ▓▒∞é╕δƒÄ δ▓¡δƒÄ δ╛¼δâ╝∞ƒÅδôé ∞û¼δ₧íδ╢║δù⌐∞é╗ δ╛¼δâí∞ƒÅδú⌐ δùêδôÖ. δô£ ∞ó¡δ»¼∞₧Ñ
  138. ∞Ä│δ₧│δùçδ╗« ∞âûδôé δâì∞é║ δô£∞ç╢ ∞ƒÅδĬ∞âç δé┤∞Ä╝δ┐ì δ╛¼δâ╝∞ƒÅδôé δ¢ª∞âîδâ¡, ∞Äñδ┐╢∞ç╕ δ┐╕∞é║ δ╛⌐δ₧»δé│∞âç
  139. δé┤∞Ä╝δ┐ì δ╛¼δâ╝∞ƒÆ δ│╢ ∞âûδôÖδôé δâì∞é╗ δ¢ª∞ƒæδôÖ. δ╖çδ▓▒∞âç δéó δÄíδ½Äδ½Éδ╛íδôé role name∞é╗
  140. δçóδƒÅ∞ƒÅδôéδûÑ, ∞âîδâì∞é║ δçù δé┤∞Ä╝δéí δ»│δô½ δé┤∞Ä╝δ╛í δô½∞ƒÿδ▓¡ δ╗«δÜ▓ δ╛¬∞ƒÆ∞é╗ ∞ƒÅδâö δùçδôéδéíδóª
  141. ∞₧Ñ∞ƒ╢∞ƒÅδâö δùêδôÖ.
  142.  
  143. δ╛╣δóª ∞ƒÅδĬ δù⌐δú⌐, Person∞é║ Companyδ┐ì δ╛¼δâ╝ δâ╝δâ¿δóª δéí∞ç╢δôéδûÑ, ∞ƒÅδĬ∞âç
  144. Companyδé┤∞Ä╝δôé ∞ƒÅδĬ ∞âîδ»│∞âç Person δé┤∞Ä╝δ┐ì δ╛¼δâ╝∞ƒÆ δ│╢ ∞âûδôÖ. δçùδó«δâ¡ Companyδôé
  145. Personδ╛í δô½∞ƒÿδ▓¡δôé employer∞âîδâ¡, Person∞é║ Companyδ╛í δô½∞ƒÿδ▓¡ employee∞âîδôÖ.
  146. ∞âîδâì∞é╗ ∞麠δçùδó▓∞âç δ╗åδ₧í∞ïèδ╛í ∞âûδôé ∞₧Ñ∞ƒ╢δ╛í ∞â╗δ┐½δ╖â∞ôæδ¬╕δú⌐ class-1:Person, class-
  147. 2:Company, role-1:employee, role-2:employerδéí δùêδôÖ.
  148.  
  149. 2.5 Aggregation Notation
  150.  
  151.                                     [pic]
  152.  
  153. Aggregation∞é║ Association∞âç ∞₧Ñδçóδº╜δâ║ δúàδ┐¼ ∞é»δ»º∞ƒæδûÑ, δô£∞ç╢ δôÖ∞âîδ╗åδú│δùÑ ∞ƒ╝∞ùé∞âç
  154. δ╖ëδ¬╝∞âî δù⌐δ╗«δéúδôÖδôé δâì∞âîδôÖ. δçùδó▓δ╛íδ▓¡ δ¬╕δôé δâìδâ║ δé░∞âî Partδ½Äδ½É∞é║ Associationδâ║
  155. δé░∞âî ∞ó¡δ»¼∞₧Ñ∞âÄ δâªδ┐¼ ∞ƒÅδĬ∞âç δé┤∞Ä╝, ∞Äñδ┐╢∞ç╕ δ┐╕∞âÄδâªδ┐¼, δ╛⌐δ₧»δé│∞âç δé┤∞Ä╝δóª ∞âçδºî∞ƒÅδúº,
  156. Assemplyδ½Äδ½Éδ╛íδôé δôÖ∞âîδ╗åδú│δùÑ δ╖ëδ¬╝∞é╗ δÅûδ╗«∞çûδ╗«δ╗ƒ ∞ƒæδôÖ. δéúδô£∞ƒæ δ╛╣δƒÄ, δ╛⌐δ₧»δé│∞âç
  157. Sentenceδôé ∞ƒÅδĬ∞âç Paragraphδ╛í δô½∞ƒÿδ▓¡ Part∞âîδâ¡ δ╛⌐δ₧»δé│∞âç Paragraphδôé ∞ƒÅδĬ∞âç
  158. Documentδ╛í δô½∞ƒÿδ▓¡ Partδéí δùêδôÖ.
  159.  
  160. 2.6 Instantiation Notation
  161.  
  162.                                     [pic]
  163.  
  164. ∞åíδ▓▒∞é╕δƒÄ δùê ∞ó¡δ»¼∞₧Ñ ∞ƒ╝∞ùé∞âç ∞₧Ñδçóδº╜∞é║ instance∞âç δ»╜δ▓║∞é╗ ∞âçδºî∞ƒæδôÖ. ∞ç», create-
  165. classδôé instantiate-class∞âç instanceδóª δ»╜δ▓║∞ƒÆ δ│╢δéí ∞âûδôÖδôé δ¢ª∞âîδôÖ.
  166. DollFactoryδôé Doll∞âç instanceδóª δ»╜δ▓║∞ƒÆ δ│╢ ∞âûδôÖ.
  167.  
  168. 2.7 Comments
  169.  
  170.                                     [pic]
  171.  
  172. δ╗«δÜ▓ ∞û¼δ₧íδ╢║δ╛í ∞çûδ▓«∞é╗ δô₧δâ¡∞âÜ ∞ƒÆ δܺδ╛íδôé δ┐ÇδóÑ∞ïè ∞ƒÅδô£δ½Äδéí δ╗áδéú ∞åó∞ƒ┤ δ┐âδ¢│δéú
  173. 믧δéó∞ƒ╝∞âç ∞å╛∞âî∞Ä│δ₧│ ∞₧Ñ∞ƒ╢∞é╗ ∞ƒÅδâ¡ δçù δÄ╗δ½Äδ╛í δ┐╕∞ƒÅδôéδûÑδƒÄ ∞çûδ▓«∞é╗ δô₧δú⌐ δùêδôÖ. δçùδó«δâ¡
  174. δçùδâì∞é║ ∞ƒÿδôº ∞û¼δ₧íδ╢║δ┐ì ∞åíδ▓▒∞é╕δƒÄ δ╛¼δâí∞é╗ ∞ƒæδôÖ. ∞âîδâì∞é║ δ╗«δÜ▓ ∞âçδºîδóª δéí∞ç╢δôé δâì∞âî
  175. δ╗åδôÅδ¢│ δô£∞ç╢ ∞âî∞ƒÿδ╛í δû╡δ┐▓∞é╗ ∞çûδâàδĬ δú«δú« ∞çƒδ┐ñ∞ƒæ δ»º∞ƒùδù⌐∞é╗ δçóδƒÅ∞ƒÅδôé δ┐½δû╡δƒÄ
  176. 믧뿫쟑듙.
  177.  
  178. 2.8 Modeling Example
  179.  
  180.                                     [pic]
  181.  
  182. ∞麠Desktop Publishing Systemδ╛í δô½∞ƒæ Object Diagram∞âîδôÖ. ∞âî δ╛╣∞åªδôé Object-
  183. Oriented Modeling and Design(Prentice Hall, ISBN:0-13-629841-9)∞ÄÑ∞âç Page
  184. 393δ╛í ∞âûδôé δ╛╣∞åªδóª ∞âÄδ┐½∞ƒæ δâì∞âîδúº Plastic∞é╗ ∞âîδ┐½∞ƒÅδ╛⌐ ∞¢¡∞ç╜∞ƒæ δâì∞âîδôÖ.
  185.  
  186.  
  187. 3. Plastic∞âç δú₧δÆ║δ▓│δú¡
  188.  
  189. 3.1 Plastic∞âç ∞â╝∞Ä╝∞ó¡δú⌐ δ▓│δú¡
  190.  
  191.                                     [pic]
  192.  
  193. Plastic∞é⌐δû╡δ┐¼∞âç ∞Åûδ»│δô£δ╛íδôé Main Menuδéí ∞âûδâ¡, δçù δºÖδƒÄ δ╗åδ₧í∞âç δ┐₧∞ïèδ╛í ∞âûδôé
  194. Speed Buttonsδ½Äδ½É∞é║ δú₧∞âÄδú₧δÆ║δ╛íδ▓¡ ∞âÜ∞çû δ║▓∞âîδôé δâìδù⌐∞é║ δè¿δÄ╗δ╗« δçù러∞ó¡ ∞ƒÿδÅ╡∞é║
  195. δâì∞âîδôÖ. ∞Ä╣δº╕∞è░ δçù러∞é║ Filesδ╛í δâ╝∞ƒæ δâì, δùÄδº╕∞è░ δçù러∞é║ Editδ╛í δâ╝∞ƒæδâì, δ▓╝δº╕∞âº
  196. δçù러∞é║ δçù δ┐£∞âç δâìδù⌐∞âîδôÖ. δçùδó«δâ¡ Select δº╢∞Ü░∞é║ Modeling Areaδ╛í ∞âîδºî ∞¢¡∞ç╜δùçδ╗«
  197. ∞âûδôé δâìδù⌐∞é║ δ▓▒∞ùâ∞ƒÅδâàδĬ ∞âîδû┐∞ƒÅδçó ∞éº∞ƒÿδ▓¡δôé ∞âîδâì∞âî δ▓▒∞ùâδùçδ╗« ∞âûδ╗«δ╗ƒ ∞ƒæδôÖ.
  198. δçùδó«δâ¡ ∞âî δ┐ÇδóÑ∞ïèδ╛í ∞âûδôé δçù러∞é║ Symbol ButtonsδƒÄδ╖í Main Menu∞âç Symbolsδú₧δÆ║δ╛í
  199. δú░δùÄ ∞âûδôé δâìδù⌐∞âîδôÖ. δ┐₧∞ïèδ╛íδ▓¡ ∞ï╖δƒèδô½δƒÄ Class, Interface, Comment,
  200. Inheritance, Association, Aggregation, Comment Link, Instantiate, Text
  201. δ╖ëδ¬╝∞âîδ¢│δâ¡ δ½ÄδóÑδôÖ. Modeling Areaδôé δó╗ δçùδô½δƒÄ ∞¢¡∞ç╜δ╛╡δ╛¬∞âîδâ¡, Status Barδ╛íδôé
  202. δùÄδéí∞ç╢ ∞åñδ¬╕δéí δ¬╕∞âîδôéδûÑ, ∞ƒ╢∞⺠∞¢¡∞ç╜∞çƒ∞âÄ ∞¢ä∞âÅ∞âç ∞âîδóºδâ║ δú░δû¿∞âç Title∞âî
  203. 뎪언뎭듙.
  204.  
  205. 3.2 File Menu
  206.  
  207. ∞¢ä∞âÅδ╛í δâ╝δƒâδùê δú₧δÆ║δéí δú░δ╛⌐∞âûδôéδûÑ, Newδôé ∞ƒ╢∞媠∞¢¡∞ç╜∞çƒ∞âÄ ∞¢ä∞âÅ∞é╗ δô¥δâ¡, δú░δùº δâì∞é╗
  208. ∞ç╢δ┐¼δâ¡ ∞Åèδçó∞ó¡ ∞ƒæδôÖ. Open... [Ctrl+O] ∞é║ ∞âîδºî ∞å╕∞âº∞ƒÅδôé δ▓│δâ¿δùê δú░δû¿∞é╗
  209. δ½Æδ₧»δ┐éδôÖ. δ½Æδ₧»δ┐â δ│╢ ∞âûδôé ∞¢ä∞âÅ∞âç ∞ƒ╝δ╖ä∞é║ .pla∞âÄδûÑ, Plasticδ╛íδ▓¡ ∞â¢δ╗╖∞ƒæ
  210. δú░δû¿∞âô∞é╗ δĬ∞û╕δÄ╜δôÖ. Save [Ctrl+S] δôé ∞ƒ╢∞媠∞â¢δ╗╖∞çƒ∞âÄ δú░δû¿∞é╗ ∞â║∞âÑ∞ƒæδôÖ. ∞âîδâì∞é║
  211. ∞ƒ╢∞媠δú░δû¿δ╛í ∞¢ä∞âÅδú¡∞âî δ½Äδ╛⌐δùçδ╗« ∞âû∞é╗ δܺδ╛íδó╕ ∞â║∞âÑ∞é╗ ∞ƒÅδâ¡, δçùδ₧╕∞Æí δ╗èδôé δâªδ┐¼δ╛íδôé
  212. Save As...δú₧δÆ║∞é╗ δ╖ç∞ƒá∞ƒæδôÖ. Save As...δôé ∞¢ä∞âÅ ∞âîδóº∞âî δ½Äδ╛⌐δùçδ╗« ∞âû∞ç╢ δ╗èδâàδĬ,
  213. ∞óñ∞é║ δ»╡δƒÄδ┐« ∞¢ä∞âÅ∞âîδóº∞é╕δƒÄ ∞â║∞âÑ∞ƒÅδâ¡ δ╖ì∞é╗δܺδ╛í δ»ºδ┐½∞ƒæδôÖ. Print...δôé ∞ç╢δç¥
  214. ∞â¢δ╗╖∞çƒ∞âÄ δú░δû¿∞é╗ ∞ƒüδó░∞ùìδƒÄ ∞Åóδƒéδ╖â∞ôæ∞çÿδôÖ. Print Setup...∞é║ ∞ƒüδó░∞ùìδ╛í δâ╝∞ƒæ
  215. δ▓│∞åñ∞é╗ ∞ƒÅδâ¡ δ╖ì∞é╗δܺ δ▓▒∞ùâ∞ƒÅδú⌐ δùêδôÖ. Exit δôé Plastic∞é╗ ∞å╛δƒíδ╖â∞û▓δôÖ.
  216.  
  217. 3.3 Edit Menu
  218.  
  219. Cut [Ctrl+X]δôé ∞ƒ╢∞媠δú░δû¿ ∞çƒδ╛í δ▓▒∞ùâδùê(δ▓▒∞ùâδùê δ╖ëδ¬╝δù⌐∞é║ δ½ô∞é║δ»╢∞é╕δƒÄ δĬ∞û╕δÄ¡δôÖ.)
  220. δ╖ëδ¬╝δù⌐∞é╗ ∞âƒδ¢│δÄ╗δ╗« ∞û¼δó│δ¬╕δùÑδƒÄ δ¬╣믧∞ƒæδôÖ. Copy [Ctrl+C]δôé δ▓▒∞ùâδùê δ╖ëδ¬╝δù⌐∞é╗
  221. δçùδô½δƒÄ δùÉ∞Ä╝δƒÄ ∞û¼δó│δ¬╕δùÑδ╛í δ¬╣믧∞ƒæδôÖ. Paste [Ctrl+V]δôé ∞û¼δó│δ¬╕δùÑδ╛í δ¬╣믧δùçδ╗«
  222. ∞âûδôé δ╖ëδ¬╝δù⌐∞é╗ ∞ƒ╢∞媠δú░δû¿δ╛í δ»░∞âöδ╖â∞ôæ ∞çÿδôÖ. Delete [Del]δôé δ▓▒∞ùâδùê δ╖ëδ¬╝δù⌐∞é╗
  223. δ»¿∞åª∞ƒæδôÖ. ∞âî δܺ ∞û¼δó│δ¬╕δùÑδ╛í δ¬╣믧∞ƒÅ∞ç╢δôé δ╗èδôéδôÖ. Select Allδôé ∞ƒ╢∞媠δú░δû¿δ╛í
  224. ∞¢╖∞ƒöδùçδ╗« ∞âûδôé δú░δùº δ╖ëδ¬╝δù⌐∞é╗ δ▓▒∞ùâ∞ƒæδôÖ. Refresh [F8]δôé ∞ƒ╢∞媠δú░δû¿∞âç δú░δùº
  225. δ╖ëδ¬╝δù⌐∞é╗ δú░δùÄ ∞ç╢δ┐¼δâ¡ δ»╡δƒÄ δçùδó░δôÖ. ∞âîδâì∞é║ δ╗å∞çû δéíδï╗δ║┐ ∞â£δ»│∞âî δ»╜δçóδôé δâªδ┐¼δ╛í
  226. δ╖ç∞ƒá∞ƒÅδú⌐ δùêδôÖ.
  227.  
  228. 3.4 Symbols Menu
  229.  
  230. Selectδôé ∞ƒ╢∞媠δú░δû¿δ╛íδ▓¡ δ╖ëδ¬╝δù⌐∞é╗ δ▓▒∞ùâ∞ƒÆ δ│╢ ∞âûδôé δú░δùÑδƒÄ ∞â╝∞ó»∞ƒæδôÖ. δ╖ëδ¬╝ ∞éºδ╛íδ▓¡
  231. ∞û¼δó»∞é╗ ∞ƒÅδú⌐ δú░δùº δ▓▒∞ùâ∞âî ∞Žδ│Æδùê ∞úäδ╛í ∞û¼δó»δùê δ╖ëδ¬╝∞âî δ▓▒∞ùâδùêδôÖ. ∞âî δܺ δ▓▒∞ùâδùê
  232. δ╖ëδ¬╝∞é║ δ½ô∞é║ δ»╢∞é╕δƒÄ δĬ∞û╕δÄ¡δôÖ. δçùδó«δâ¡ ∞Ü»∞åñ δ╛╡δ╛¬δ╗ê∞âç δú░δùº δ╖ëδ¬╝∞é╗ δ▓▒∞ùâ∞ƒÅδâ¡∞âÜ
  233. ∞ƒæδôÖδú⌐ δùÑδ₧íδçù δ╗ÿ δùÑδƒô∞é╕δƒÄ δ╛╡δ╛¬∞é╗ ∞ç╢∞åñ∞ƒÅδ╛⌐ ∞çûδú⌐ δùêδôÖ. δçùδó«δâ¡ [Shift]∞û░δóª
  234. δÆ⌐δóúδú⌐δ▓¡ δ▓▒∞ùâ∞ƒÅδú⌐, ∞âî∞â╝δ╛í δ▓▒∞ùâδùçδ╗« ∞âûδôé δâìδù⌐∞é╗ ∞é»∞ç╢∞ƒÅδú⌐δ▓¡ δ▓▒∞ùâ∞é╗ ∞Ńδéí∞ƒÆ
  235. δ│╢δéí ∞âûδôÖ.
  236.  
  237. Classδôé ∞û¼δ₧íδ╢║ δ╖ëδ¬╝∞é╗ δ»╜δ▓║∞ƒÅδôé δú░δùÑδƒÄ, Interfaceδôé ∞âÄ∞ùì∞¢É∞âîδ╢║ δ╖ëδ¬╝∞é╗
  238. δ»╜δ▓║∞ƒÅδôé δú░δùÑδƒÄ ∞â╝∞ó»∞ƒÅδúº, Modeling Areaδ╛íδ▓¡ δ┐╕∞ƒÅδôé ∞éº∞Æíδ╛í ∞û¼δó»∞é╗ ∞ƒÅδú⌐
  239. δ»╡δƒÄδ┐« δ╖ëδ¬╝∞âî δ»╜δçóδâ¡, Selectδú░δùÑδƒÄ δôÖδ╖â ∞â╝∞ó»∞âî δùêδôÖ. Extends . Implements
  240. δôé δ»│δ│ôδâ╝δâ¿δóª δĬ∞û╕δÄ╛ δ│╢ ∞âûδôé δú░δùÑδƒÄ δºÖδï«δôéδûÑ, δº¥δùÑδ╖â
  241. δ▓¡δ½¬∞û¼δ₧íδ╢║(∞âÄ∞ùì∞¢É∞âîδ╢║)δ╛íδ▓¡ δ│╢∞¢¢∞û¼δ₧íδ╢║(∞âÄ∞ùì∞¢É∞âîδ╢║)δƒÄ δùÑδ₧íδçù δ╗ÿ δùÑδƒô∞é╗ ∞ƒÅδ╛⌐δ╗ƒ
  242. ∞ƒæδôÖ. Association, Aggregation∞é║ Association Symbol, Aggregation Symbol∞é╗
  243. δ»╜δ▓║∞ƒÅδôé δú░δùÑδƒÄ ∞â╝∞ó»∞ƒÅδúº, Instantiation∞é║ δ»╜δ▓║δâ╝δâ¿δóª δĬ∞û╕δÄ╛ δ│╢ ∞âûδôé δú░δùÑδƒÄ
  244. ∞â╝∞ó»∞ƒæδôÖ. Commentδôé ∞çûδ▓«δ╖ëδ¬╝∞é╗ δ»╜δ▓║∞ƒÆ δ│╢ ∞âû∞é╕δúº, Comment Linkδôé ∞çûδ▓«δ╖ëδ¬╝∞é╗
  245. ∞û¼δ₧íδ╢║ δ¢çδôé ∞âÄ∞ùì∞¢É∞âîδ╢║δƒÄ δ╛¼δâí∞ƒÆ δ│╢ ∞âûδôé δú░δùÑδƒÄ δºÖδï»δôÖ. Textδôé ∞ƒæ∞çÖ∞èÑδó«
  246. δ▓│δú¡∞é╗ δô₧ δ│╢ ∞âûδû╡δƒÅ ∞ƒÿ ∞çÿδôÖ.
  247.  
  248. 3.5 Patterns Menu
  249.  
  250. Save As Design Pattern...
  251.  
  252. ∞ç╢δ祠∞¢¡∞ç╜∞ƒÅδâ¡ ∞âûδôé δú░δû¿∞âî Pattern∞âîδ¢│δú⌐, ∞âî δú₧δÆ║δóª δ▓▒∞ùâ∞ƒÅδ╛⌐ δçùδâì∞é╗ ∞âºδ»ºδ┐½∞âî
  253. δéíδôë∞ƒæ ∞ƒ╝∞ùéδƒÄ ∞â║∞âÑ∞ƒÅδ╛⌐ ∞çÖ δ│╢ ∞âûδôÖ. ∞ó«∞âÑδú¡∞é║ .pat∞é╕δƒÄ ∞â║∞âÑ∞âî δùçδôéδûÑ, ∞â║∞âÑ∞âî
  254. δùë δܺδ╛íδôé Packageδ╛í δâ╝δƒâδùê ∞åñδ¬╕δĬ, Design Informationsδôé δú░δùÄ ∞â║∞âÑδ╛íδ▓¡
  255. ∞åªδ┐£δùçδâ¡ δ│╕δ│╢∞ƒÅδâö δú░δû¿δó╕∞âî ∞â║∞âÑδùêδôÖ.
  256.  
  257. Insert Design Pattern...
  258.  
  259. Plasticδ╛íδ▓¡ ∞åªδâ╕∞ƒÅδôé Design PatternsδĬ δ»ºδ┐½∞âÜδéí ∞âîδºî ∞åñ∞âç∞ƒÅδ╛⌐ ∞â║∞âÑ∞ƒÿ δùÉ
  260. Patternsδóª ∞ƒ╢∞媠∞¢¡∞ç╜∞çƒ∞âÄ δú░δû¿δ╛í δ»░∞âö∞ƒÆ δ│╢δéí ∞âûδôÖ. δ»░∞âö∞é╗ ∞ƒÅδú⌐ δôÖδóÑ ∞åñδ¬╕δ╛íδôé
  261. ∞â╝∞ƒ┤ δ╛╡∞ƒó∞é╗ δºî∞Æí∞ç╢ δ╗è∞é╕δúº, δô£∞ç╢ Patternδ╛í ∞å╕∞âº∞ƒÅδôé δ╖ëδ¬╝δù⌐δó╕∞âî δ»╡δƒôδâö ∞Ńδéíδùë
  262. 믓샌듙.
  263.  
  264. 3.6 View Menu
  265.  
  266. Browser... [F5]
  267.  
  268.                                     [pic]
  269.  
  270. Browserδôé ∞ƒ╢∞媠δú░δû¿δ╛í ∞âûδôé ∞û¼δ₧íδ╢║δ┐ì ∞âÄ∞ùì∞¢É∞âîδ╢║δ╛í δâ╝∞ƒæ δó«δ╢║∞Ü«δ┐ì δçùδâìδù⌐∞âî
  271. δéí∞ç╢δâ¡ ∞âûδôé ∞ƒèδùÑ δºù δú₧δ│ÆδùÑ, δ»╜δ▓║∞âÜδù⌐∞é╗ ∞Ü«δó«∞ƒ╝∞ùéδƒÄ δ¬╕δ╛⌐∞çûδâ¡ ∞âûδôÖ. δ¢ç∞ƒæ δ¬╕δçó
  272. δ╢▒δâö δ╗å∞âî∞ô£ ∞ƒ╝∞ùéδƒÄ δĬ∞û╕δÄ╗δâ¡ ∞âû∞é╕δúº, δ╗åδ₧íδ╛íδôé δ▓▒∞ùâδùê ∞û¼δ₧íδ╢║, ∞âÄ∞ùì∞¢É∞âîδ╢║,
  273. ∞ƒèδùÑ, δú₧δ│ÆδùÑ δºù δ»╜δ▓║∞âÜδ╛í Javaδ╗░δ╗«∞âç ∞₧Ñ∞ƒ╢∞é╗ δ╗å∞çû δ½╝δóúδâö δ¬╕δ╛⌐∞çûδâ¡ ∞âûδôÖ.
  274. δçùδó«δâ¡ ∞Äó∞âç ∞û⌐δçó δºù δâªδâ¿δóª ∞âÜ∞é»δƒôδâö ∞å╢∞â╜∞ƒÆ δ│╢ ∞âûδ╗«δ▓¡ δ»ºδ┐½∞âÜδéí δ»ºδ┐½∞ƒÅδçóδ╛í
  275. ∞¢¡∞ƒÅδû╡δƒÅ ∞ƒÅδâ¡ ∞âûδôÖ. ∞Åûδ»│δô£δ╛í ∞âûδôé 3δé│∞âç δº╢∞Ü░∞é║ ∞ï╖δƒèδô½δƒÄ Refresh, Collapse,
  276. Expand∞âÄδûÑ, Refreshδôé δ½¬δ¢│δ┐¼∞â║δéí δ╛¡δó░ ∞âî∞úäδ╛í ∞¢¡∞ç╜δùê δ╖ëδ¬╝δù⌐∞é╗ δú░δùÄ δôÖδ╖â
  277. 망δ╛╡∞ƒÅδâ¡ δ╖ì∞é╗δܺ δ»ºδ┐½∞ƒÅδúº, Collapseδôé ∞ƒèδùÑ, δú₧δ│ÆδùÑ, δ»╜δ▓║∞âÜδ╛í δô½∞ƒæ δâì∞é╗ δú░δùÄ
  278. δ│╗δâ£δ▓¡ ∞û¼δ₧íδ╢║δ┐ì ∞âÄ∞ùì∞¢É∞âîδ╢║δó╕∞é╗ δ¬╕δ╛⌐∞çûδúº, Expandδôé δº¥δô½δƒÄ δú░δùÄδôÖ δ¬╕δ╛⌐∞çÿδôÖ.
  279.  
  280. Package... [F6]δôé ∞¢É∞û░∞ç╢δ╛í δô½∞ƒæ ∞åñδ¬╕δóª δ▓│∞åñ∞ƒÆ δ│╢ ∞âûδû╡δƒÅ Package Windowδóª
  281. δ╛¼δôÖ. Design Information... [F7]δôé δ▓│δâ¿δ╛í δâ╝∞ƒæ ∞åñδ¬╕δóª δçó∞âö∞ƒÆ δ│╢ ∞âûδû╡δƒÅ
  282. Design Information Windowδóª δ╛¡δ╗«∞çÿδôÖ.
  283.  
  284. 3.7 Tools Menu
  285.  
  286. Options...
  287.  
  288. δ┐ëδ│ç∞é║ Plasticδ╛í δô½∞ƒæ ∞ó»δâª(Environment Page)δ╛í δô½∞ƒæ δ▓│∞åñ, δú░δû¿
  289. δôÖ∞âîδ╗«δçùδ₧Ñ(Diagram Page)δâ╝∞ƒæ δ▓│∞åñ δºù JavaEditor(Editor Page)δ╛í δâ╝∞ƒæ
  290. δ▓│∞åñ∞é╕δƒÄ ∞Åæ 3∞¢ñ∞âî∞ç╢δƒÄ δĬδÆ╡δ╗« ∞âûδôÖ. δ╛⌐δçóδ▓¡ δ▓│∞åñδùê δé¬∞é╗ δôÖ∞é╜δ╛í Plastic∞é╗
  291. δ╖ç∞ƒá∞ƒÆ δܺδ╛í δú░δùÄδéí δçùδô½δƒÄ ∞é»∞ç╢δùêδôÖ.
  292.  
  293.                                     [pic]
  294.  
  295. Environment Pageδóª δ¬╕δú⌐ Java Compiler, Java Code Generate, Browser∞âç
  296. 3δéí∞ç╢∞âç δçù러∞é╕δƒÄ δå╕δ½É∞âîδôÖ. Java Compilerδ╛íδôé Java Compilerδéí ∞âûδôé δâªδƒÄδú¡∞é╗
  297. δ▓│∞åñ∞ƒÿ∞çûδ╗«δ╗ƒ ∞ƒÅδôéδûÑ, ∞âîδâì∞é║ Java Editorδ╛íδ▓¡ Compileδú₧δÆ║∞é╗ δ▓▒∞ùâ∞ƒÅδ╛┤∞é╗δܺ,
  298. 믧δ┐½δùë δâì∞âîδôÖ. δ╛⌐δçóδ╛íδ▓¡δôé JDK1.1.1 ∞âîδ»│ δº╢∞å»∞âç javac.exeδóª δ»ºδ┐½∞ƒÆ δâì∞é╗
  299. δçç∞âÑ∞ƒæδôÖ. δçùδó«δâ¡ Java Code Generatorδçù러δ╛íδ▓¡ Include Implementation ∞Ä╝∞û⌐
  300. δºÜδ╢║δôé δ»╜δ▓║∞ƒÆ ∞âÜδºÖδ╗░δ╗«∞âç ∞ôÜδùÑδ╛í δå╕∞ƒ╢δ½Äδ½É∞é╗ ∞¢╖∞ƒö∞ƒÆ δâì∞âÄ∞ç╢δ╛í δô½∞ƒæ δ╛⌐δ½Äδóª,
  301. Include Commentδôé Comment δ╖ëδ¬╝δ╛í ∞âç∞ƒæ ∞çûδ▓«δª«∞é╗ ∞¢╖∞ƒö∞ƒÆ δâì∞âÄδéíδ╛í δô½∞ƒæ δ╛⌐δ½Äδóª
  302. ∞₧Ñδ╖â∞ƒæδôÖ. δçùδó«δâ¡ Indentation∞é╗ δ»╜δ▓║∞ƒÆ ∞âÜδºÖδ╗░δ╗« ∞ôÜδùÑ∞âç δù⌐δ╛⌐δ║▓δçó∞âç δâ╕δº⌐∞âç
  303. δé╣δ│╢δóª δ▓│∞åñ∞ƒæδôÖ. Browserδçù러δ╛íδôé Browserδ╛íδ▓¡ ∞âÜδºÖδ╗░δ╗«∞âç ∞₧Ñ∞ƒ╢∞é╗ δ¬╕δ╛⌐∞çûδôé
  304. δ½Äδ½É∞âç ∞¢╣∞Ü« δºù δ»╢δ»│∞é╗ δâí∞åñ∞ƒÆ δ│╢ ∞âûδû╡δƒÅ ∞ƒÅδ╛┤δôÖ.
  305.  
  306.                                     [pic]
  307.  
  308. Diagram Page δ╛íδôé ∞ó¡δú⌐δ╛í ∞₧Ñδ╖âδùçδôé δéó∞å╛ δ╖ëδ¬╝∞âç ∞¢╣∞Ü« δú░δ╗ºδ╛í δô½∞ƒæ δâì∞é╗ δ▓│∞åñ∞ƒÆ
  309. δ│╢ ∞âûδû╡δƒÅ ∞ƒÅδôé Fontδçù러δâ║ Modeling Area∞âç δ╛╡δ╛¬∞âç ∞û⌐δçóδóª δ▓│∞åñ∞ƒÆ δ│╢ ∞âûδû╡δƒÅ
  310. δùçδ╗« ∞âûδôé Sizeδçù러∞âî ∞âûδôÖ. Modeling Area∞âç ∞û⌐δçóδóª δ¬»δâª∞ƒÆ δܺδ╛íδôé ∞çû∞âçδóª
  311. δ┐ñ∞ƒÅδôéδûÑ, ∞û⌐δçóδóª ∞û⌐δâö ∞ƒÆ δܺδ╛íδôé δ¬░䪫∞åªδéí δ╗╕∞é╕δĬ, ∞â¢δâö ∞ƒÆ δܺδ╛íδôé δ╛╡δ╛¬∞é╗
  312. δº╛δ╗«δĬ ∞åóδçÖ∞ƒÆ δ│╢ δ╗╕δôé δ╖ëδ¬╝∞âî δ»╜δ窠δ│╢ ∞âû∞é╕δºçδƒÄ ∞çû∞âç∞ƒÅδçó δºÖδ¢╡δôÖ. δçùδó«δâ¡
  313. ∞¢╣∞Ü«∞âç δú░δ╗º∞é║ ∞ƒüδó░∞¢â∞ƒÆ δܺδ╛íδû╡ δ╛╡∞ƒó∞é╗ δºî∞ÆíδºçδƒÄ δ╛░δùÄδ╛í δùÄδâ¡ ∞âû∞é╕δú⌐ ∞çü∞é╗
  314. δâì∞âîδôÖ. Editor Pageδ╛íδôé Java Editorδ╛íδ▓¡ ∞¢¡∞ç╜∞ƒÅδôé δ½Äδ½É∞âç ∞¢╣∞Ü«∞âç δú░δ╗º δºù
  315. δ»╢δ»│∞é╗ ∞åñ∞âç∞ƒÆ δ│╢ ∞âûδôÖ.
  316.  
  317.                                     [pic]
  318.  
  319. Java Editor... [F3]δôé Javaδ╗░δ╗«∞âç δ│Æδ╢║δºù html, text ∞¢ä∞âÅ∞é╗ ∞¢¡∞ç╜∞ƒÆ δ│╢ ∞âûδû╡δƒÅ
  320. Java Editorδóª δ╛¡δ╗«∞çÿδôÖ.
  321.  
  322. Java Code Generator... [F4]
  323.  
  324.                                     [pic]
  325.  
  326. Java Code Generatorδôé ∞ƒ╢∞媠δú░δû¿δ╛íδ▓¡ Package Member∞âÄ ∞û¼δ₧íδ╢║ δºù ∞âÄ∞ùì∞¢É∞âîδ╢║δ╛í
  327. δô½∞ƒæ Javaδ╗░δ╗«∞âç δ│Æδ╢║∞ôÜδùÑδóª ∞âÜδû┐∞é╗ δ»╜δ▓║δ╖â∞ôæ∞çÿδôÖ. δó╕δ╗á ∞ƒÅδĬ∞âç ∞û¼δ₧íδ╢║ δ¢çδôé
  328. ∞âÄ∞ùì∞¢É∞âîδ╢║∞âç δ│Æδ╢║∞ôÜδùÑ δ»╜δ▓║∞âî ∞ƒèδ┐ñ∞ƒÅδôÖδú⌐ ∞ƒÿδôº δ╗å∞âî∞ù¢∞é╗ δ▓▒∞ùâ∞ƒæ ∞úä, Generate
  329. Oneδº╢∞Ü░∞é╗ δÆ⌐δóúδú⌐ ∞û¼δ₧íδ╢║ δ¢çδôé ∞âÄ∞ùì∞¢É∞âîδ╢║∞âç ∞âîδóºδâ║ δû┐∞âÅ∞ƒæ ∞âÜδºÖδ╗░δ╗«∞âç δ│Æδ╢║δéí
  330. Generate Destination Direcrotyδ╛íδ▓¡ δ▓│∞åñδùê δù░δ₧║∞ùñδó«δ╛í δ»╜δ▓║∞âîδùêδôÖ. Generate
  331. Allδº╢∞Ü░∞é╗ δÆ⌐δóúδú⌐ δú░δùº ∞û¼δ₧íδ╢║δ┐ì ∞âÄ∞ùì∞¢É∞âîδ╢║δ╛í δô½∞ƒÅδ╛⌐ ∞ôÜδùÑδóª δ»╜δ▓║∞ƒÅδâ¡ Package
  332. Nameδâ║ δû┐∞âÅ∞ƒæ ∞âîδóº∞âç ∞âÜδºÖδ╗░δ╗« δ│Æδ╢║δéí δ»╜δ▓║∞âî δùêδôÖ. Generate Destination
  333. Directoryδôé ∞Åèδçóδé¬∞é╕δƒÄ Package PathδƒÄ δ▓│∞åñ∞âî δùç∞ç╢δó╕ δôÖδóÑ δù░δ₧║∞ùñδó«δ╛í δ»╜δ▓║∞é╗
  334. δ┐╕∞ƒæδôÖδú⌐ δºÖδïÖδ╗«δû╡ δª½δºª∞ƒÅδôÖ.
  335.  
  336. 3.8 Help Menu
  337.  
  338. Contents... δôé δû╡δ┐▓∞âî ∞ƒèδ┐ñ∞ƒÆ δܺ δ▓▒∞ùâ∞ƒæδôÖ. δçùδ₧»δú⌐ δû╡δ┐▓δó╗∞âç δÄ╗δ┐½∞âî δĬ∞û╕δÄ¡δôÖ.
  339. About...δôé Plasticδ╛í δâ╝∞ƒæ ∞âÅ망∞â╗∞âÄ ∞åñδ¬╕δéí δĬ∞û╕δÄ¡δôÖ.
  340.  
  341.  
  342. 4. Plastic∞é╗ ∞âîδ┐½∞ƒæ δ│Æ∞ƒü∞Ü«δ┐╛δ╗« δú░δû¿δó╡
  343.  
  344. 4.1 Class, Interface∞âç ∞₧Ñ∞ƒ╢
  345.  
  346. Class Inspector
  347.  
  348. Javaδ╗░δ╗«δ╛íδôé ∞û¼δ₧íδ╢║δóª δçóδ│║∞ƒÅδôéδûÑ δú«δéí∞ç╢ ∞ï╖∞âî∞åí∞é╗ ∞₧Ñ∞ƒ╢∞ƒÅδçó ∞éº∞ƒÿ abstract,
  349. publicδé░∞é║ δâìδù⌐∞âî δ½Ö∞é╗ δ│╢ ∞âûδôÖ. abstract∞û░ δ┐╢δùÑδéí δ½Ö∞é╕δú⌐ ∞Ńδ»│∞û¼δ₧íδ╢║δóª
  350. δĬ∞û╕δÄ╗δúº, public∞âî δ½Ö∞é╕δú⌐ package δ┐£δ½Äδ╛íδ▓¡δû╡ ∞û¼δ₧íδ╢║δóª ∞åóδçÖ∞ƒÆ δ│╢ ∞âûδâö δùêδôÖ.
  351. public∞âî δ½Ö∞ç╢δ╗è∞é╕δú⌐ packageδéí δùêδôÖ. ∞âîδâì∞é║ ∞ç╖∞åó packageδ¢│δôé δ╛╣δ╗áδ╗«δóª δ½Ö∞âî∞ç╢
  352. δ╗èδôéδûÑ, ∞û¼δ₧íδ╢║δéí packageδÄ╗δ½Äδ╛íδ▓¡δó╕ ∞åóδçÖ∞âî δéíδôë∞ƒÅδôÖδôé δâì∞é╗ δ¢ª∞ƒæδôÖ.
  353.  
  354. Javaδ╛íδ▓¡δôé ∞û¼δ₧íδ╢║δéí ∞ƒÅδĬ ∞âîδ»│∞âç ∞Ńδ»│δú₧δ│ÆδùÑ(Abstract Method)δóª δéí∞ç╕δôÖδú⌐ δçù
  355. ∞û¼δ₧íδ╢║δôé δº¥δùÑδ╖â ∞Ńδ»│∞û¼δ₧íδ╢║δéí δùçδ╗«δ╗ƒ ∞ƒæδôÖ. ∞âî∞åí∞é╗ ∞é»∞âç∞ƒÅδ╛⌐δ╗ƒ ∞ƒÅδúº ∞âîδâì∞é╗
  356. ∞ç╢∞û░∞ç╢ δ╗è∞é╕δú⌐ ∞ôä∞¢ä∞âÅ∞û╕∞âôδ╛í δ╛íδ₧»δóª δÄ╛ δâì∞âîδôÖ. δôÖ∞é╜δ╛í δú«δéí∞ç╢ ∞û¼δ₧íδ╢║δ╛í δô½∞ƒæ
  357. ∞₧Ñ∞ƒ╢∞âî ∞âûδôÖ.
  358.  
  359. class MyClass { ... }
  360. abstract MyClass { ... } // ∞Ńδ»│∞û¼δ₧íδ╢║
  361. public MyClass { ... } // packageδ┐£δ½Äδ╛íδ▓¡ ∞åóδçÖ δéíδôë.
  362. public abstract MyClass { ... }
  363.  
  364.                                     [pic]
  365.  
  366. Class Inspectorδôé ∞û¼δ₧íδ╢║ δ╖ëδ¬╝∞é╗ δô╡뫭∞û¼δó»∞ƒÅδú⌐ δĬ∞û╕δÄ¡δôÖ. δâàδçóδ╛íδôé δ╛⌐δ₧»δéí∞ç╢
  367. ∞åñδ¬╕δóª δ¬╕δ╛⌐∞çûδâ¡, δ¢ç ∞¢¡∞ç╜∞ƒÆ δ│╢ ∞âûδû╡δƒÅ ∞ƒÿ∞çÿδôÖ. δ┐¼δ▓▒ ∞Åûδ»│δô£δ╛í ∞û¼δ₧íδ╢║∞âç ∞âîδóº∞é╗
  368. δçó∞âö∞ƒÅδâ¡, ∞åóδçÖ∞åª∞ƒæ∞é║ publicδ¢çδôé packageδƒÄ δùÄδôéδûÑ, public∞é╕δƒÄ δùÄδâöδùçδú⌐
  369. δ»╜δ▓║δùê Javaδ│Æδ╢║δ╛íδ▓¡ ∞û¼δ₧íδ╢║δéí public∞âîδ¢│δôé δ╛╣δ╗áδ╗«δóª δ½Ö∞âîδâö δùêδôÖ. δçùδ₧╕∞Æí
  370. δ╗è∞é╕δú⌐ δ╗å䪽δâìδû╡ δ½Ö∞ç╢ δ╗èδôéδôÖ. Abstract Classδ¢│δôé ∞Ä╝∞û⌐δºÜδ╢║δ╛í ∞₧Ñδ╖âδóª ∞ƒÅδú⌐
  371. abstractδ¢│δôé δ╛╣δ╗áδ╗«δéí δ½ÖδâöδùêδôÖ. ∞ƒæδéí∞ç╢ ∞çûδú▒∞ƒÆ δâì∞âî ∞âûδôéδûÑ δçùδâì∞é║ Package
  372. Memberδ╛í ∞Ä╝∞û⌐∞₧Ñδ╖âδóª δ╗╕δ╛í δº╢δó«δú⌐ Java∞ôÜδùÑδéí δ»╜δ▓║δùç∞ç╢ δ╗èδâ¡, δ¢ç δ╖ëδ¬╝∞âî
  373. ∞åíδ▓▒∞é╕δƒÄ ∞₧Ñδ╖âδùçδâö δùêδôÖδôé ∞åí∞âîδôÖ. ∞âîδâì∞é║ δú░δû¿δó╡δ╛í ∞ç╖∞åó∞â╗∞é╕δƒÄ δ»│δâ╝∞âî δ╗╕∞é╕δĬ,
  374. δ»│δ│ôδâ╝δâ¿ δ¢çδôé δ╛¼δâ╝δâ╝δâ¿δóª ∞₧Ñδ╖â∞ƒÅδçó ∞éº∞ƒÿδ▓¡δó╕ ∞ƒèδ┐ñ∞ƒæ δâªδ┐¼δ╛í δ»ºδ┐½∞ƒÅδâö δùêδôÖ.
  375. δĬδúô∞ç╢ Show Public Onlyδ╛í ∞Ä╝∞û⌐δóª ∞ƒÅδú⌐, Fields, Methods ∞烠public∞âÄδâìδó╕
  376. ∞ó¡δú⌐δ╛í ∞₧Ñδ╖â∞ƒÅδ╛⌐ ∞çÿδôÖ.
  377.  
  378. Attributes(or Fields)δ½Äδ½Éδ╛íδ▓¡δôé δ│ôδ▓║δù⌐∞âî δó«δ╢║∞Ü«δºÜδ╢║δ╛í δĬδ╛¡∞âî δùçδúº,
  379. δô╡뫭∞û¼δó»∞é╗ ∞ƒÅδâö δùçδú⌐ Attribute Inspector∞é⌐δû╡δ┐¼δéí δ╛¡δó░δôÖ. δçùδó«δâ¡ δ┐ÇδóÑ∞ïèδ╛í
  380. δùÄδé│∞âç δº╢∞Ü░∞âî ∞âûδôéδûÑ, Newδôé δ»╡δƒÄδ┐« δ│ôδ▓║∞é╗ δ»╜δ▓║∞ƒÅδâ¡∞âÜ ∞ƒÆ δܺ, Deleteδôé
  381. δó«δ╢║∞Ü«δºÜδ╢║δ╛íδ▓¡ δ▓▒∞ùâδùê δ│ôδ▓║∞é╗ δ»¿∞åª∞ƒÅδâ¡∞âÜ ∞ƒÆ δܺ δ»ºδ┐½∞ƒÅδôé δâì∞âîδôÖ.
  382.  
  383. Methodsδ½Äδ½Éδ╛íδ▓¡δû╡ δú₧δ│ÆδùÑδù⌐∞âî δó«δ╢║∞Ü«δºÜδ╢║δ╛í δĬδ╛¡∞âî δùêδôÖ. δ┐ÇδóÑ∞ïèδ╛í ∞âûδôé 4δé│∞âç
  384. δº╢∞Ü░∞é╗ δ▓│δú¡∞ƒÅδú⌐, δ┐¼δ▓▒ Method Newδôé δ»╡δƒÄδ┐« δú₧δ│ÆδùÑδóª δ»╜δ▓║∞ƒÆ δܺ δÆ⌐δóúδú⌐ Method
  385. Inspectorδéí δ╛¡δó«δú⌐δ▓¡ δ»╡δƒÄδ┐« Methodδóª ∞â¢δ▓║∞ƒÆ δ│╢δéí ∞âûδâö δùçδâ¡, Constructor
  386. Newδôé δ»╡δƒÄδ┐« δ»╜δ▓║∞âÜδóª ∞Ńδéí∞ƒÅδâ¡∞âÜ ∞ƒÆ δܺ δ»ºδ┐½∞ƒæδôÖ. From Ancestorδôé ∞âî
  387. ∞û¼δ₧íδ╢║∞âç δ│╢∞¢¢∞û¼δ₧íδ╢║ δ¢çδôé δ│╢∞¢¢∞âÄ∞ùì∞¢ñ∞âîδ╢║δéí ∞âû∞é╗δâªδ┐¼ δçùδâìδù⌐∞âç δú₧δ│ÆδùÑ∞烠∞ƒÅδĬδóª
  388. δçùδô½δƒÄ δ¬╣믧∞ƒÿ δ┐â δ│╢ ∞âûδôé δçóδôë∞âîδôÖ. δú₧δ│ÆδùÑδóª override∞ƒÅδôé δâªδ┐¼ δú₧δ│ÆδùÑ∞âç
  389. ∞ƒüδƒÄ∞ùñ∞û╕∞âö∞âî ∞âÅ∞Æí∞ƒÿδ╗ƒ ∞ƒÅδºçδƒÄ ∞âî δçóδôë∞é║ δúàδ┐¼ ∞¢¡δó«∞ƒÅδôÖ. Deleteδôé ∞âîδºî
  390. ∞å╕∞âº∞ƒÅδôé δú₧δ│ÆδùÑ∞âç δ»¿∞åª∞âîδôÖ.
  391.  
  392. Constructor∞âç δâªδ┐¼, δ»╜δ▓║∞âÜ∞âç ∞âîδóº∞é║ ∞û¼δ₧íδ╢║∞âç ∞âîδóºδâ║ δû┐∞âÅ∞ƒæδûÑ, ∞âîδâì∞é║
  393. Inspectorδ╛íδ▓¡δôé δº¥δ╛╡∞âî δùç∞ç╢ δ╗èδâ¡, OKδº╢∞Ü░∞é╗ δÆ⌐δóÑ ∞úäδ½Ä∞ùì δº¥δ╛╡∞âî δùçδºçδƒÄ
  394. ∞çû∞âç∞ƒÿδ╗ƒ ∞ƒæδôÖ. Cancel∞é╗ δ▓▒∞ùâ∞ƒÆ δâªδ┐¼ Attributesδ┐ì Methodsδ╛í δô½∞ƒæ ∞Ä│δó«δ┐£δ╛íδôé
  395. δú░δùÄ δª½δ╖âδùêδôÖ.
  396.  
  397. From Ancestor Dialog
  398.  
  399.                                     [pic]
  400.  
  401. supertypes δó«δ╢║∞Ü« δºÜδ╢║δ╛íδ▓¡δôé ∞û¼δ₧íδ╢║δéí δ»│δ│ôδº₧∞é║ δú░δùº ∞û¼δ₧íδ╢║ δ¢çδôé
  402. ∞âÄ∞ùì∞¢É∞âîδ╢║δéí δĬ∞û╕δÄ¡δôÖ. δª░δƒÉ δ½Äδú░(Parent) δ»ôδó╕δ╗åδôÅδ¢│ δ▓▒∞å╢(Ancestor)δç«∞ç╢
  403. δú░δùÄδéí δôÖ δĬδ┐ÇδôéδûÑ, δ╗å∞âî∞ù¢∞é╗ δ▓▒∞ùâ∞ƒÅδâö δùçδú⌐ δ┐ÇδóÑ∞ïè∞âç Methodsδ½Äδ½Éδ╛í ∞ƒÿδôº
  404. δ╗å∞âî∞ù¢∞âç δú₧δ│ÆδùÑδéí δú░δùÄ δĬ∞û╕δÄ╗δâö δùçδôéδûÑ ∞âî∞çƒδ╛í ∞ƒèδ┐ñ∞ƒæ δâì∞é╗ δ▓▒∞ùâ∞ƒÅδ╛⌐ OKδº╢∞Ü░∞é╗
  405. δÆ⌐δóúδú⌐ δùêδôÖ. Methodsδ½Äδ½Éδ╛íδôé δĬ∞û╕δĬδôé δâìδù⌐∞é║ Constructorδóª ∞åªδ┐£∞ƒæ
  406. Operationsδ┐ì Methods∞âîδôÖ.
  407.  
  408. Interface Inspector
  409.  
  410. ∞âÄ∞ùì∞¢É∞âîδ╢║δôé δçù δ╗«δÜ░∞ƒæ δå╕∞ƒ╢δû╡ δéí∞ç╢∞ç╢ δ╗èδôéδôÖ. ∞âÄ∞ùì∞¢É∞âîδ╢║∞âç Fieldsδôé δú░δùÄ
  411. static∞âîδâ¡ final∞âîδôÖ. ∞ƒÅ∞ç╢δó╕ δçùδ₧»∞ƒæ δ╛╣δ╗áδ╗«δôé δ½Ö∞âî∞ç╢ δ╗èδôéδôÖ. δù╗δ¢│δ▓¡ ∞âîδâìδù⌐∞é║
  412. δ»│δ│╢(Constant)δéí δùêδôÖ. δçùδó«δâ¡ δú░δùº Methodδôé ∞Ńδ»│δú₧δ│ÆδùÑ∞âîδúº, δ╛¬δ╖â
  413. abstractδ¢│δôé δ╛╣δ╗áδ╗«δôé δ½Ö∞âî∞ç╢ δ╗èδôéδôÖ. ∞âîδâì∞é║ ∞â╝∞ƒ┤ δå╕∞ƒ╢∞é╗ δéí∞ç╢∞ç╢ δ╗èδ╗åδ╗ƒ ∞ƒæδôÖ.
  414. δ╛⌐δçóδ▓¡δôé ∞âîδâì∞é╗ δ┐¼δó«δôé Operation∞âîδ¢│ δ½ÄδóúδâÜδôÖ. ∞û¼δ₧íδ╢║δ┐ì δó╢∞ï╣δéí∞ç╢δƒÄ public∞âî
  415. δùçδú⌐ ∞¢É∞û░∞ç╢ δ┐£δ½Äδ╛íδ▓¡∞âç ∞âÄ∞ùì∞¢É∞âîδ╢║∞âç ∞åóδçÖ∞é╗ ∞ƒúδ┐½∞ƒæδôÖ. δôÖ∞é╜δ╛í δú«δéí∞ç╢
  416. ∞âÄ∞ùì∞¢É∞âîδ╢║∞âç ∞₧Ñ∞ƒ╢∞âî∞âûδôÖ.
  417.  
  418. interface MyInterface { ... }
  419. public interface MyInterface { ... } // ∞¢É∞û░∞ç╢ δ┐£δ½Äδ╛íδ▓¡ ∞åóδçÖδéíδôë.
  420.  
  421.                                     [pic]
  422.  
  423. ∞âÄ∞ùì∞¢É∞âîδ╢║ ∞âÄδ╢║∞¢æ∞ùìδ╛íδ▓¡ ∞Åûδ»│δô£δ╛íδôé ∞âÄ∞ùì∞¢É∞âîδ╢║∞âç ∞âîδóº∞é╗, Access
  424. Modifierδ╛íδ▓¡δôé ∞åóδçÖ∞ƒúδ┐½δ╛í δâ╝∞ƒæ δâì∞é╗ δ▓│∞åñ∞ƒÅδúº, Package Memberδ╛íδ▓¡δôé δú░δû¿δó╡δ╛í
  425. δâ╝δ╖ë∞âî δ╗╕δôé δâì∞âîδú⌐ ∞Ä╝∞û⌐δóª δ╗╕δ╗ûδâ¡, ∞û¼δ₧íδ╢║∞âç δâªδ┐¼δ┐ì δó╢∞ï╣δéí∞ç╢δƒÄ ∞ôÜδùÑδ»╜δ▓║δ╛íδ▓¡
  426. ∞åªδ┐£δùçδú⌐δ▓¡, ∞âÄ∞ùì∞¢É∞âîδ╢║ δ╖ëδ¬╝∞âî ∞åíδ▓▒∞é╕δƒÄ ∞₧Ñδ╖âδùçδâö δùêδôÖ.
  427.  
  428. Constant δ½Äδ½É∞âç δó«δ╢║∞Ü«δºÜδ╢║δôé δ»│δ│╢δ╛í δô½∞ƒæ δâì∞é╗ δ╛¡δâà∞ƒÅδúº, δô╡뫭∞û¼δó»∞âÄ δâªδ┐¼δ╛í
  429. Constant Inspectorδóª δ╛¡δâ¡, Newδ┐ì Deleteδôé δ»│δ│╢δ╛í δô½∞ƒæ ∞Ńδéíδ┐ì δ»¿∞åª∞ƒÆ δܺδ╛í
  430. 믧δ┐½∞ƒæδôÖ. ∞âîδâì∞é║ Operationδ½Äδ½Éδ╛í δô½∞ƒÿδ▓¡δû╡ δçùδô½δƒÄ ∞â╗δ┐½δùêδôÖ.
  431.  
  432. 4.2 Field, Method∞âç ∞₧Ñ∞ƒ╢
  433.  
  434. Attribute Inspector
  435.  
  436.                                     [pic]
  437.  
  438. Attribute Inspectorδéí δ╛¡δó«δú⌐ δ»╡δƒÄδ┐« δ│ôδ▓║∞é╗ ∞â¢δ▓║∞ƒÅδâàδĬ ∞âîδºî ∞â¢δ▓║δùê δ│ôδ▓║∞é╗
  439. 䬻δâª∞ƒÆ δ│╢δéí ∞âûδôÖ. Attribute Name, Attribute Type, Initial Valueδôé δéóδéó
  440. δ│ôδ▓║∞âç ∞âîδóº, δûÑ∞âî∞ùì ∞û╕∞âö, ∞Åèδçóδé¬∞é╗ δ▓│∞åñ∞ƒÆ δ│╢δéí ∞âûδôÖ. δó╕δ╗á δéóδéó∞âç δé¬∞é╗ OS,
  441. String, ßéôWindows95ßéöδ¢│δâ¡ ∞ƒƒδôÖδú⌐ δ»│∞âÇ∞ƒÅδôé ∞âÜδºÖ∞âç ∞₧Ñ∞ƒ╢∞é║ String OS =
  442. ßéôWindows95ßéö δéí δùë δâì∞âîδôÖ. δ╛⌐δçóδ╛í staticδâ║ final∞é╗ δ▓│∞åñ∞ƒÆ δ│╢δéí ∞âûδôéδûÑ,
  443. static∞é║ class variable∞é╗ final∞é║ δé¬∞âî δô╡ ∞âîδ»│ δºÖδï░ δ│╢ δ╗╕∞é╕δºçδƒÄ δ»│δ│╢δóª
  444. ∞âçδºî∞ƒæδôÖ. Attribute Type δ½Äδ½É∞âç δéí∞âÑ δÄíδ╛í δ½Öδ╗«∞âûδôé ... δº╢∞Ü░∞é╗ δÆ⌐δóúδú⌐ ∞û╕∞âö∞é╗
  445. Types Dialogδ╛íδ▓¡ δ▓▒∞ùâ∞ƒÆ δ│╢ ∞âûδû╡δƒÅ ∞ƒÿ ∞çÿδôÖ.
  446.  
  447. Access Modifier
  448.  
  449. δ│ôδ▓║, δú₧δ│ÆδùÑ δù«∞âç ∞åóδçÖ δ¬»δâª∞âÜδ╛íδôé package, private, protected, pulbic∞âç
  450. 4δéí∞ç╢δéí ∞âûδôÖ. packageδôé δ╗å䪽δ₧▒ δ╛╣δ╗áδ╗«δóª δ½Ö∞âî∞ç╢ δ╗èδ╗Æ∞é╗ δܺ ∞ƒÿδôº δ│ôδ▓║∞âîδĬ
  451. δú₧δ│ÆδùÑδéí ∞¢É∞û░∞ç╢∞âç δÄ╗δ½Äδ╛íδ▓¡δó╕ ∞åóδçÖ∞âî δéíδôë∞ƒÅδôÖδôé δâì∞é╗ ∞âçδºî∞ƒæδôÖ. δçùδó«δâ¡
  452. privateδôé ∞û¼δ₧íδ╢║ δÄ╗δ½Äδ╛íδ▓¡δó╕ ∞åóδçÖ∞âî δéíδôë∞ƒÅδúº, protectedδôé ∞û¼δ₧íδ╢║∞âî δÄ╗δ½Ä δºù
  453. ∞âÜδ│ò ∞û¼δ₧íδ╢║δ╛í ∞âç∞ƒÿδ▓¡δû╡ ∞åóδçÖ∞âî δéíδôë∞ƒÅδôÖ. public∞é║ ∞û¼δ₧íδ╢║∞âç δ┐£δ½Äδ╛íδ▓¡δû╡ ∞åóδçÖ∞âî
  454. δéíδôë∞ƒÅδôÖδôé δâì∞é╗ ∞âçδºî∞ƒæδôÖ.
  455.  
  456. Constant Inspector
  457.  
  458.                                     [pic]
  459.  
  460. δ»│δ│╢δôé δ╗Åδ╖â∞â╗∞é╕δƒÄ static∞âîδâ¡ final∞âîδôÖ. δù╗δ¢│δ▓¡ δé¬∞é╗ δ½╝δδ│╢ δ╗╕∞é╕δúº Initial
  461. Valueδ¢╡δ╛í δé¬∞é╗ δïÇ δÅûδ╗«δùÄδ╗«δ╗ƒ ∞ƒæδôÖ. δ╛╣δóª δù⌐δú⌐ float Pi = 3.141592 δ┐ì δé░∞âî
  462. ∞â¢δ▓║∞ƒÆ δ│╢ ∞âûδôÖ. δ»│δ│╢∞âç ∞û╕∞âöδû╡ Types Dialogδ╛íδ▓¡ δ▓▒∞ùâ∞ƒÆ δ│╢ ∞âûδôÖ. ∞ƒæδéí∞ç╢
  463. ∞çû∞âç∞ƒÆ ∞åí∞é║ δé¬∞âî int, float δé░∞é║ δâªδ┐¼δôé 255, 3.141592∞Ä│δ₧│ δé¬∞é╗ δçùδô½δƒÄ
  464. δÅû∞é╕δú⌐ δùç∞ç╢δó╕ String∞ƒ╝∞âÄ δâªδ┐¼δ╛íδôé δº¥δùÑδ╖â ßéôLeeßéö, ßéôKimßéö ∞Ä│δ₧│ ∞âî∞烠δù╗δ┐ê∞₧Ñδóª
  465. δ½Öδ╛⌐δ╗ƒ ∞ƒæδôÖ.
  466.  
  467. Method Inspector
  468.  
  469.                                     [pic]
  470.  
  471. δú₧δ│ÆδùÑδôé δôÖδóÑ δé│δÅñδ╛í δ½▒∞ƒÿ δ╗áδéú ∞å╗ δ¬╣∞âó∞ƒÅδôÖ. Method Name, Return Typeδ╛íδôé
  472. δéóδéó δú₧δ│ÆδùÑ∞âç ∞âîδóºδâ║ δó«∞ùÅ δé¬∞âî ∞âûδôé δâªδ┐¼ δó«∞ùÅ δé¬∞âç ∞û╕∞âö∞é╗ δçó∞âö∞ƒæδôÖ. δó╕δ╗á
  473. δé¬∞âî δ╗╕δôÖδú⌐ void∞âîδôÖ. δçùδó«δâ¡ throwsδôé Exception Handlingδ╛íδ▓¡ δĬδ┐Çδôé
  474. δé│δÅñ∞âÄδûÑ, ∞âî δú₧δ│ÆδùÑδéí δºƒδ»╜δ╖â∞û│ δ│╢ ∞âûδôé Exception∞âç ∞û╕∞âö∞é╗ δĬδ╛¡∞ƒæδôÖ. δó╕δ╗á
  475. ∞ƒÅδĬ ∞âîδ»│∞âç δ╛╣δ┐£∞û╕∞âö∞âî δºƒδ»╜∞ƒÆ δ│╢ ∞âûδôÖδú⌐ ,(comma)δƒÄ δ▓¡δƒÄ∞âç ∞û╕∞âö∞é╗ δå╕δ½É∞ƒÿ
  476. 쇘듙.
  477.  
  478. Static Methodδôé ∞û¼δ₧íδ╢║∞âç δúóδº╢∞âô∞é╗ ∞âçδºî∞ƒæδôÖ. δ¬╕∞ù½∞âç δâªδ┐¼ ∞û¼δ₧íδ╢║∞âç ∞âÄδ╢║∞ùÅδ╢║∞âç
  479. δúóδúô∞âî∞ç╢δó╕ static∞âç δâªδ┐¼δ╛íδôé ∞û¼δ₧íδ╢║∞âç δúóδº╢∞âîδôÖ. Abstract Methodδôé
  480. ∞Ńδ»│δú₧δ│ÆδùÑδƒÄδ╖í δå╕∞ƒ╢∞é╗ δéí∞ç╢∞ç╢ δ╗èδôé δú₧δ│ÆδùÑ∞âô∞é╗ ∞âçδºî∞ƒÅδúº ∞âî δú₧δ│ÆδùÑδóª δ»│δ│ôδº₧∞é║
  481. ∞û¼δ₧íδ╢║ ∞çƒ δº¥δùÑδ╖â ∞ƒÅδĬδôé δå╕∞ƒ╢∞âî δùçδ╗«δ╗ƒ ∞ƒæδôÖ. δçùδ₧╕∞Æí δ╗è∞é╕δú⌐ ∞ôä∞¢ä∞âÅ ∞û╕∞âôδ╛í
  482. δ╛íδ₧»δóª δºƒδ»╜δ╖â∞û│ δâì∞âîδôÖ. final∞é║ ∞âî δú₧δ│ÆδùÑδôé δô╡ ∞âîδ»│ override∞âî δùë δ│╢ δ╗╕∞é╜∞é╗
  483. δĬ∞û╕δÄ╗δúº, synchronizedδôé multi threadδóª ∞âîδ┐½∞ƒÅδâ¡∞âÜ ∞ƒÆ δܺ, δú₧δ│ÆδùÑδéí δû┐δ╖âδ▓║∞é╗
  484. δéí∞ç╕δôÖδôé δâì∞é╗ δĬ∞û╕δÄ╜δôÖ.
  485.  
  486. δú₧δ│ÆδùÑδéí ∞ƒÅδĬ ∞âîδ»│∞âç ∞âÄ∞âÜ(argument)δóª δéí∞ç║ δâªδ┐¼ Argument δ½Äδ½É∞âç Newδº╢∞Ü░∞é╗
  487. δÆ⌐δóº∞é╕δƒÄδ╖í δ»╡δƒÄδ┐« ∞âÄ∞âÜδóª ∞Ńδéí∞ƒÆ δ│╢ ∞âûδâ¡, Deleteδº╢∞Ü░∞é╕δƒÄ ∞âîδºî ∞å╕∞âº∞ƒÅδôé
  488. ∞âÄ∞âÜδóª δ»¿∞åª∞ƒÆ δ│╢ ∞âûδôÖ. δçùδó«δâ¡ Implementationδ½Äδ½Éδ╛íδôé δú₧δ│ÆδùÑ∞âç δå╕∞ƒ╢∞é╗ δ»░∞âö∞ƒÆ
  489. δ│╢δéí ∞âûδôÖ. ∞âî δ½Äδ½É∞é║ ∞âÜδºÖ ∞ôÜδùÑ δ»╜δ▓║δ╛íδ▓¡ δçùδô½δƒÄ δ¬╣믧δùçδ╗« δù⌐δ╗«δéíδºçδƒÄ ∞çû∞âç∞ƒÅδ╛⌐
  490. ∞ôÜδù╣∞ƒÿδ╗ƒ ∞ƒæδôÖ. δôÖ∞é╜δ╛íδôé Javaδ╗░δ╗«δóª δ»╜δ▓║∞ƒæ δ╛╣∞âç δâ▒δâ¥∞é╗ δ¬╕δ╛⌐ ∞çûδâ¡ ∞âûδôÖ.
  491.  
  492. protected final void method_name(int value)
  493.        throws exception1, exception2
  494. {
  495.        implementation
  496.        ...
  497. }
  498.  
  499. Operation Inspector
  500.  
  501.                                     [pic]
  502.  
  503. ∞âÄ∞ùì∞¢É∞âîδ╢║∞âç δú₧δ│ÆδùÑδôé δå╕∞ƒ╢∞é╗ δéí∞ç╢∞ç╢ δ╗èδôéδôÖ. δù╗δ¢│δ▓¡ ∞Ńδ»│δú₧δ│ÆδùÑδ¢│δâ¡ δ¬╝ δ│╢δéí
  504. ∞âûδôÖ. δçùδ₧íδ▓¡ Method Inspectorδ┐ìδôé δô₧δó« δå╕∞ƒ╢δ½Äδóª δéí∞ç╢∞ç╢ δ╗èδôéδôÖ. δô£∞ç╢
  505. Operation Name, Return Type δçùδó«δâ¡ Arguments δ½Äδ½Éδó╕∞é╗ δéí∞ç╕δôÖ. δó«∞ùÅ ∞û╕∞âöδ╛í
  506. δô½∞ƒÿδ▓¡δôé Types Dialogδóª ∞âîδ┐½∞ƒÆ δ│╢δéí ∞âûδôÖ. δ┐Ç∞¢¢δ₧╣∞âîδ│çδ╛í δô½∞ƒæ δú«δéí∞ç╢∞âç δ╛╣δéí
  507. δ╗åδ₧íδ╛í ∞âûδôÖ.
  508.  
  509. String AsString();
  510. void Store(Writer writer);
  511. void Clone();
  512.  
  513. Constructor Inspector
  514.  
  515.                                     [pic]
  516.  
  517. δ»╜δ▓║∞âÜδôé ∞âîδóºδû╡ δó«∞ùÅ∞û╕∞âöδû╡ δ╗«δÜ▓∞ƒæ Access Modifierδû╡ δ╗╕δôÖ. δ┐ûδÅä∞ƒÅδú⌐ δçùδ₧▒
  518. δâìδù⌐∞é║ ∞âçδºîδéí δ╗╕δçó δÜºδª«∞âîδôÖ. ∞âîδóº∞é║ ∞û¼δ₧íδ╢║∞âç ∞âîδóºδâ║ δû┐∞âÅ∞ƒÿδ╗ƒ ∞ƒÅδâ¡, δó«∞ùÅ
  519. ∞û╕∞âö∞é║ δ╗╕∞é╕δúº Access Modifierδôé δº¥δùÑδ╖â public∞âîδçó δÜºδª«δ╛í δå╗∞âî δçó∞âö∞ƒÆ ∞ƒèδ┐ñδéí
  520. ∞â╝∞ƒ┤δ╗╕δôÖ. ∞ƒÅ∞ç╢δó╕ Implementation∞é║ δéí∞ç║ δ│╢δéí ∞âûδôÖ.
  521.  
  522. δ»╜δ▓║∞âÜδôé δ╛⌐δ₧»δé│∞âç ∞âÄ∞âÜδù⌐∞é╗ δéí∞ç║ δ│╢δéí ∞âûδôéδûÑ, ∞âÄ∞âÜδù⌐∞âç ∞û╕∞âö∞âîδĬ, δé╣δ│╢δ╛í
  523. δù╗δ¢│δ▓¡ δ▓¡δƒÄ δôÖ∞é║ δ»╜δ▓║∞âÜδéí δùêδôÖ. ∞ç», ∞ƒÅδĬ∞âç ∞û¼δ₧íδ╢║δôé δ╛⌐δ₧»δé│∞âç δ»╜δ▓║∞âÜδóª δéí∞ç║
  524. δ│╢ ∞âûδôÖ. δçùδó«δâ¡ δ»╜δ▓║∞âÜδù⌐∞é║ δ»│δ│ôδùç∞ç╢ δ╗èδôéδôÖ. δ»╜δ▓║∞âÜδéí δ╗╕δôé δâªδ┐¼ ∞âÜδºÖδ╛íδ▓¡δôé
  525. ∞âÄ∞âÜδéí δ╗╕δôé δù░∞¢║∞Ü« δ»╜δ▓║∞âÜδóª ∞âÜδû┐∞é╕δƒÄ ∞Ńδéíδ╖â∞ôæ∞çÿδôÖ. ∞ƒÅ∞ç╢δó╕ δ»╜δ▓║∞âÜδéí ∞âûδôé
  526. δâªδ┐¼δ╛íδôé δçùδ₧»∞ƒæ ∞âÅ∞é╗ ∞ƒÅ∞ç╢ δ╗èδôéδôÖ. δ╗åδ₧íδ╛í δ»╜δ▓║∞âÜδ╛í δô½∞ƒæ δ╛╣δéí ∞âûδôÖ.
  527.  
  528. class MyClass {
  529.        int MyValue;
  530.        MyClass() {
  531.               MyValue = 500;
  532.               ...
  533.        }
  534.        ...
  535. }
  536. ...
  537. MyClass myObject = new MyClass();
  538.  
  539. Argument Inspector
  540.  
  541.                                     [pic]
  542.  
  543. ∞âÄ∞âÜ(Argument)δôé ∞âÄ∞âÜ∞âç ∞âîδóº δºù ∞âÄ∞âÜ∞âç ∞û╕∞âöδó╕ δçóδ│║∞ƒÆ δ│╢ ∞âû∞é╕δú⌐ δùêδôÖ. ∞û╕∞âö∞é╗
  544. δçóδ│║∞ƒÅδçó ∞éº∞ƒÿ Types Dialogδóª ∞âîδ┐½∞ƒÆ δ│╢δéí ∞âûδôÖ. ∞âÜδºÖδ╛íδ▓¡δôé δú₧δ│ÆδùÑδ╛í δô½∞ƒæ
  545. δú░δùº ∞âÄ∞âÜδù⌐∞é║ Call By Value∞âç δ┐╕∞Æóδ╛í δù╗δóÑδôÖ.
  546.  
  547. Types Dialog
  548.  
  549.                                     [pic]
  550.  
  551. Types Dialogδôé ∞û╕∞âö∞âîδóº∞é╗ δĬδ╛¡∞ƒÅδâ¡ ∞âûδ╗«δ▓¡ ∞âÜ∞çû δºƒδ»╜∞ƒÅδôé ∞â¢δ╗╖∞âÄ ∞û╕∞âö∞âç
  552. ∞âîδóº∞é╗ δçóδ│║∞ƒÅδôéδûÑ δó╣∞é║ ∞¢¡δó«∞ƒö∞é╗ ∞åªδâ╕∞ƒÿ ∞çÿδôÖ. ∞âîδâì∞é║ ∞âÜδºÖδ╛íδ▓¡ ∞åªδâ╕∞ƒÅδôé Built-
  553. in Typeδ»ôδó╕ δ╗åδôÅδ¢│ δçùδù⌐δ╛í δô½∞ƒæ Wrapper Class δºù ∞ƒ╢∞âº∞âç δú░δû¿δ╛í ∞å╕∞âº∞ƒÅδôé
  554. ClassδĬ Interfaceδ╛í δô½∞ƒæ ∞âîδóºδç«∞ç╢ ∞¢╖∞ƒö∞ƒÅδâ¡ ∞âûδ╗«δ▓¡ δéúδô£∞ƒÅδâö ∞û╕∞âö∞âç ∞âîδóº∞é╗
  555. δçóδ│║∞ƒÆ δ│╢ ∞âûδû╡δƒÅ δû╡δ┐ì∞çÿδôÖ.
  556.  
  557. 4.3 Inheritance∞âç ∞₧Ñ∞ƒ╢
  558.  
  559. Class Extends
  560.  
  561.                                     [pic]
  562.  
  563. ∞û¼δ₧íδ╢║δóª ∞ó«∞âÑ(extend)∞ƒÅδôé δâì∞é║ δéúδô£∞ƒÅδôÖ. extendsδ¢│δôé δ╛╣δ╗áδ╗« δùÜδ╛í
  564. δ│╢∞¢¢∞û¼δ₧íδ╢║∞âç ∞âîδóº∞é╗ ∞â╗δ╗«∞çûδú⌐ δçùδâì∞é╕δƒÄ δÄí∞âîδôÖ. ∞âîδ₧╕δâö ∞ƒÅδú⌐ δ│╢∞¢¢∞û¼δ₧íδ╢║∞âç ∞âÅδ½Ä
  565. δ│ôδ▓║ δºù δú₧δ│ÆδùÑδù⌐(protected, public∞âÄ δâìδù⌐)∞é╗ δ╗å䪽δ₧▒ δŽδƒéδ╗╕∞âî δ»│δ│ôδº₧∞é╗ δ│╢
  566. ∞âûδôÖ. ∞âÜδºÖδ╛íδ▓¡ ∞û¼δ₧íδ╢║δ╛í δô½∞ƒÿδ▓¡δôé δ│╢∞¢¢∞û¼δ₧íδ╢║δóª δô£∞ç╢ ∞ƒÅδĬδó╕ ∞ƒúδ┐½∞ƒæδôÖ. ∞éº∞âç
  567. δçùδó▓δ╛í δĬ∞û╕δÄ¡ ∞ƒ╝∞ùéδóª Javaδ╗░δ╗«δƒÄ δºÖδïÖδú⌐ δ╗åδ₧íδ┐ì δé░δôÖ.
  568.  
  569. class subclass extends superclass { ... }
  570.  
  571. Plasticδ╛íδ▓¡δôé Inheritance δ╖ëδ¬╝∞é╗ δ▓▒∞ùâ∞ƒæ ∞úäδ╛í δ▓¡δ½¬∞û¼δ₧íδ╢║δ╛íδ▓¡ δ½Ä∞ùì
  572. δ│╢∞¢¢∞û¼δ₧íδ╢║δƒÄ δùÑδ₧íδçù δ╗ÿ δùÑδƒô(Drag & Drop)∞é╗ ∞ƒÅδú⌐ δ»╡δƒÄδ┐« δ»»δéó∞ƒ╝ δ╖ëδ¬╝∞âî
  573. δ»╜δçóδú⌐δ▓¡ δ╛¼δâí∞âî δùêδôÖ.  δó╕δ╗á ∞ƒÅδĬ∞âç δ│╢∞¢¢∞û¼δ₧íδ╢║δ╛í δ╛⌐δ₧»δé│∞âç δ▓¡δ½¬∞û¼δ₧íδ╢║δóª
  574. δ╛¼δâí∞ƒÅδâ¡∞âÜ ∞ƒæδôÖδú⌐, ∞Åû∞Åè∞âç δ▓¡δ½¬∞û¼δ₧íδ╢║δôé ∞éºδ┐ì δé░∞é║ δºªδº╜∞é╕δƒÄ ∞ƒÅδâ¡ δĬδúô∞ç╢
  575. δ▓¡δ½¬∞û¼δ₧íδ╢║δóª δ╛¼δâí∞ƒÆ δܺδ╛íδôé δùÑδ₧íδçù δ╗ÿ δùÑδƒôδ╛íδ▓¡ δùÑδƒô(Drop)∞ƒá∞éºδóª δ»»δéó∞ƒ╝ δ╖ëδ¬╝
  576. ∞éºδ╛íδôÖδéí ∞ƒÅδú⌐(δó╢δ┐¼δ╢║ δº╢∞Ü░∞é╗ δ»»δéó∞ƒ╝ δ╖ëδ¬╝δ╛íδ▓¡ δÅ╡∞é╕δú⌐) δ¬╕δçó ∞çüδâö δ»»δéó∞ƒ╝ δ╖ëδ¬╝∞é╗
  577. δâ╕∞é»∞ƒÅδú⌐δ▓¡ δ▓¡δƒÄ δ╛¼δâí∞é╗ ∞ƒÆ δ│╢δéí ∞âûδôÖ.
  578.  
  579. Interface Extends
  580.  
  581.                                     [pic]
  582.  
  583. ∞âÄ∞ùì∞¢É∞âîδ╢║∞âç δ»│δ│ô∞âç ∞₧Ñδçóδº╜∞é║ ∞û¼δ₧íδ╢║δ┐ì δû┐∞âÅ∞ƒÅ∞ç╢δó╕ ∞û¼δ₧íδ╢║∞âç δâìδâ║δôé δ╗áδéú
  584. δôÖδóúδôÖ. ∞âÄ∞ùì∞¢É∞âîδ╢║δôé δ│╢∞¢¢∞âÄ∞ùì∞¢É∞âîδ╢║δóª ∞ƒÅδĬ ∞âîδ»│∞é╗ ∞ƒúδ┐½∞ƒæδôÖ. ∞âîδ₧╕δâö ∞ƒÿδ▓¡
  585. δó╕δù⌐δ╗«∞ç╕ δ▓¡δ½¬∞âÄ∞ùì∞¢É∞âîδ╢║δôé δú░δùº δ│╢∞¢¢∞âÄ∞ùì∞¢É∞âîδ╢║∞âç ∞Ü»∞èí∞é╗ δª░δƒüδº₧∞é╕δúº,
  586. δ│╢∞¢¢∞âÄ∞ùì∞¢É∞âîδ╢║δóª δ┐ñδå╕∞ƒÅδôé δª«δúåδ╛í δ▓¡δ½¬∞âÄ∞ùì∞¢É∞âîδ╢║δéí δô½δ╖à δ║▓∞âÅδ│╢ ∞âûδôÖ.
  587. (Substitutability)
  588.  
  589. interface subinterface extends superinterface1, superinterface2 {
  590.        // new properties...
  591. }
  592.  
  593. Implements
  594.  
  595.                                     [pic]
  596.  
  597. ∞û¼δ₧íδ╢║δôé ∞ƒÅδĬ ∞âîδ»│∞âç ∞âÄ∞ùì∞¢É∞âîδ╢║δƒÄδ½Ä∞ùì δ»│δ│ô∞é╗ δº₧∞é╗ δ│╢δéí ∞âûδôÖ. (δ╛¬∞é║ δ½Æδéíδôë!)
  598. δô£∞ç╢, δ│╢∞¢¢∞âÄ∞ùì∞¢É∞âîδ╢║∞âç δ┐Ç∞¢¢δ₧╣∞âîδ│ç∞é╗ δú░δùÄ δå╕∞ƒ╢∞ƒÿδ╗ƒδó╕ ∞ƒæδôÖ. δú«δéí∞ç╢ δå╕∞ƒ╢δùç∞ç╢
  599. δ╗è∞é║ δâì∞âî ∞âûδôÖδú⌐ δçù ∞û¼δ₧íδ╢║δôé ∞Ńδ»│∞û¼δ₧íδ╢║(abstract class)∞âîδ╗«δ╗ƒ ∞ƒÅδâ¡ δçù
  600. ∞âÜδ│ò∞û¼δ₧íδ╢║δ╛íδôé δ┐Å∞â╝∞ú╖ δå╕∞ƒ╢δùçδ╗«δ╗ƒδó╕ ∞ƒæδôÖ. δ▓¡δ½¬∞û¼δ₧íδ╢║∞âç ∞âÄδ╢║∞ùÅδ╢║(instance)δôé
  601. δ│╢∞¢¢∞âÄ∞ùì∞¢É∞âîδ╢║ ∞âÄ∞ùì∞¢É∞âîδ╢║δóª δ┐ñδå╕∞ƒÅδôé ∞âÜδó«δ╛í δô½δ╖à δ»ºδ┐½δùë δ│╢ ∞âûδôÖ.
  602.  
  603. class subclass implements superinterface1, superinterface2 {
  604.        ...
  605.        // implements operations of superinterfaces.
  606. }
  607.  
  608. 4.4 Association, aggregation∞âç ∞₧Ñ∞ƒ╢
  609.  
  610. Association Inspector
  611.  
  612.                                     [pic]
  613.  
  614. δé┤∞Ä╝δéú∞âç δ╛¼δâ╝∞é╗ ∞₧Ñδ╖â∞ƒÅδçó ∞éº∞ƒÿδ▓¡δôé Association δ¢çδôé Aggregation δ╖ëδ¬╝∞é╗
  615. δ▓▒∞ùâ∞ƒæ ∞úäδ╛í From Classδ╛íδ▓¡ To ClassδƒÄ δùÑδ₧íδçù δ╗ÿ δùÑδƒô∞é╗ ∞ƒÅδú⌐ δ»╜δ▓║δùêδôÖ. From
  616. Classδ┐ì To Classδ╛í δâ╕∞ù½∞â╗∞é╕δƒÄ δù⌐δ╗«δéí ∞âûδôé δâì∞é║ Role Nameδâ║ Access
  617. Modifier∞âÄδûÑ, δé┤∞Ä╝δéí δ╛¼δâ╝ ∞ƒÅδôé δôÖδóÑ δé┤∞Ä╝δ╛í δô½∞ƒÿδ▓¡ δ╗«δÜ░∞ƒæ δ╛¬∞ƒÆ∞é╗ ∞ƒÅδôé∞ç╢δ╛í
  618. δô½∞ƒæ ∞âîδóº∞é╗ δ╖í δÅû∞é║ δâ╖∞âîδâ¡, Access Modifierδôé δé┤∞Ä╝δéú∞âç δ╛¼δâ╝∞âî δº¢∞é╕δƒÄ
  619. δùÑδ₧»δĬδôé ∞åñδû╡δóª ∞₧Ñ∞ƒ╢∞ƒÆ δ│╢ ∞âûδôÖ.
  620.  
  621. From Classδ╛íδ▓¡δôé One δ¢çδôé Many∞çƒδ╛í δ▓▒∞ùâ∞ƒÆ δ│╢δéí ∞âûδôéδûÑ, From Class∞âç δé┤∞Ä╝δéí
  622. δô£∞ç╢ ∞ƒÅδĬδó╕ δ╛¼δâ╝δ╛í δâ╝δ╛⌐∞ƒÅδôé∞ç╢ δ╗åδôÅδú⌐ δ╛⌐δ₧»δé│δéí δâ╝δ╛⌐∞ƒÅδôé∞ç╢δóª δĬ∞û╕δÄ╛ δ│╢ ∞âûδôÖ.
  623. To Classδ╛íδ▓¡δôé δçù δ╛¼δâ╝∞âç ∞ƒ╝∞ùéδéí Association∞âÄ∞ç╢ δ╗åδôÅδú⌐ Aggregation∞âÄ∞ç╢δóª
  624. δ▓▒∞ùâ∞ƒÅδû╡δƒÅ δùçδ╗«∞âûδôÖ. Plasticδ╛íδ▓¡δôé δçÖδ¬╗∞â╗∞é╕δƒÄ Association Symbolδâ║
  625. Aggregation Symbolδéú∞âç ∞ï╖∞âîδéí δ╗╕∞é╕δĬ, δ»╜δ▓║∞ƒæ ∞ç╖∞úäδ╛í δâí∞åñδùçδôé δ╛¼δâ╝∞âç ∞ƒ╝∞ùéδéí
  626. δôÖδóúδôÖ.
  627.  
  628. Personδâ║ Companyδ╛í δô½∞ƒæ δ╛¼δâ╝∞é╗ δĬ∞û╕δÄ╗δú⌐ From Classδéí Person∞âîδùçδâ¡ To
  629. Classδéí Companyδéí δùçδôéδûÑ, Person∞é║ Companyδ╛í δô½∞ƒÿδ▓¡ ∞ƒçδâ¡δ┐½∞âÄ(employee)
  630. ∞âîδºçδƒÄ Role Name∞é║ employee, Companyδôé Personδ╛í δô½∞ƒÿδ▓¡
  631. δâ¡δ┐½∞âÄ(employer)∞âîδºçδƒÄ Role Name∞é║ employerδéí δùêδôÖ. δ¢ç∞ƒæ Person∞é║ Company∞âç
  632. Partδéí δ╗åδôÅδºçδƒÄ δ╛¼δâ╝∞âç ∞ƒ╝∞ùéδôé Association∞âîδôÖ.
  633.  
  634. class Person {
  635.         Company employer;
  636. }
  637.  
  638. class Company {
  639.         Person[] employee = new Person[]; // reference
  640. }
  641.  
  642. 4.5 Comment δ½Ö∞âîδçó
  643.  
  644. Comment Inspector
  645.  
  646.                                     [pic]
  647.  
  648. δ╗«δÜ▓ ∞û¼δ₧íδ╢║δĬ ∞âÄ∞ùì∞¢É∞âîδ╢║δ╛í ∞çûδ▓«∞é╗ δ½Ö∞âîδâ¡∞âÜ ∞ƒæδôÖδú⌐ δ┐¼δ▓▒ Comment δ╖ëδ¬╝∞é╗
  649. δ▓▒∞ùâ∞ƒÅδ╛⌐ Commentδóª ∞ƒÅδĬ δ»╜δ▓║∞ƒÅδâ¡, δçùδâì∞é╗ ∞ùì뫭∞û¼δó»∞ƒÅδ╛⌐ Comment Inspectorδóª
  650. δ╛¼ δôÖ∞é╜δ╛í δ▓│δú¡∞é╗ δ╖í δÅûδôéδôÖ. δçùδó«δâ¡ Comment Link δ╖ëδ¬╝∞é╗ δ▓▒∞ùâ∞ƒÅδ╛⌐
  651. CommentδƒÄδ½Ä∞ùì ∞çûδ▓«∞é╗ δ½Ö∞âÅ ∞û¼δ₧íδ╢║δĬ ∞âÄ∞ùì∞¢É∞âîδ╢║δƒÄ δùÑδ₧íδçù δ╗ÿ δùÑδƒô∞é╗ ∞ƒæδôÖ. δó╕δ╗á
  652. ∞çûδ▓«∞é╗ ßéôthis is a classßéöδ¢│δôé δ▓│δú¡∞é╗ δ½Öδ╛┤δôÖδú⌐ δ╗åδ₧íδ┐ì δé░∞âî ∞âÜδºÖδ╗░δ╗«δéí δ»╜δ▓║δùë
  653. 냍샌듙.
  654.  
  655. // this is a class
  656. class Something { ... }
  657.  
  658. Text Inspector
  659.  
  660.                                     [pic]
  661.  
  662. Textδôé δ╗«δÜ░∞ƒæ ∞âçδºîδû╡ δéí∞ç╢∞ç╢ δ╗è∞ç╢δó╕ δéí∞âÑ ∞ƒèδ│╢∞â╗∞âÄ δâì∞âîδ¢│ ∞ƒÅδâÜδôÖ. ∞âîδâì∞é║
  663. δ▓│δâ¿δùê δå╕δ▓«δå╕δ▓«δ╛í δ▓│δú¡∞é╗ δô₧δ│╢δéí ∞âûδôÖ. ∞âîδâì∞é║ δô£∞ç╢ ∞ƒæ ∞çÖδó╕ δéíδôë∞ƒÅδôÖ.
  664. δùçδû╡δƒÅ∞âîδú⌐ ∞âîδâì∞é╗ δó╣∞âî δ»ºδ┐½∞ƒÆ δâì∞é╗ δçç∞âÑ∞ƒæδôÖ. δ┐ûδÅä∞ƒÅδú⌐ δ▓│δú¡∞é╗ δó╣∞âî δô₧δ│╢δƒÅ
  665. ∞âî∞ƒÿ∞ƒÅδôéδûÑ δû╡δ┐▓∞âî δùçδçó δÜºδª«∞âîδôÖ. Javaδ╗░δ╗«∞âç δ»╜δ▓║δ╛íδôé ∞â╝∞ƒ┤ δ╛╡∞ƒó∞é╗ δºî∞Æí∞ç╢
  666. 뻊듂듙.
  667.  
  668. 4.6 Package δ▓│∞åñ∞ƒÅδçó
  669.  
  670. Package Window
  671.  
  672.                                     [pic]
  673.  
  674. Plasticδ╛íδ▓¡δôé ∞ƒÅδĬ∞âç δú░δû¿∞é║ δâ░ ∞ƒÅδĬ∞âç ∞¢É∞û░∞ç╢δóª ∞âçδºî∞ƒæδôÖ. δù╗δ¢│δ▓¡ δ╛¼δâ╝δ▓║∞âî
  675. ∞âûδôé δé┤∞Ä╝δù⌐δéú∞âç δú░∞âôδ╛í δâ╝δ╖ë∞é╗ δùÉδôÖ. ∞éº∞âç δçùδó▓δ╛íδ▓¡ δ¬╕δù¡∞âî Package
  676. ∞é⌐δû╡δ┐¼δ╛íδ▓¡δôé ∞¢É∞û░∞ç╢δ╛í δâ╝∞ƒæ ∞åñδ¬╕δóª δçóδ│║∞ƒÆ δ│╢ ∞âû∞é╕δú⌐ δçù ∞¢É∞û░∞ç╢δóª δå╕∞ƒ╢∞ƒÅδçó
  677. ∞éº∞ƒÿδ▓¡ δôÖδóÑ ∞¢É∞û░∞ç╢∞âç δ│╢∞âö(Import)∞é╗ δâ╝δó«∞ƒÆ δ│╢ ∞âûδôÖ. δó╕δ╗á ∞ç╢δ祠δ▓│δâ¿∞ƒÅδâ¡ ∞âûδôé
  678. δâì∞âî δçó∞ƒÅ∞ƒÉδ╛í δâ╝∞ƒæ δâì∞âîδ¢│δú⌐ δçù ∞¢É∞û░∞ç╢∞âç ∞âîδóº∞é╗ Geomatric∞âîδ¢│δâ¡ δùæ δ│╢δéí
  679. ∞âûδâÜδâ¡, δ¢ç δ»╜δ▓║δùê ∞âÜδºÖδ╗░δ╗«δ┐ì ∞ôä∞¢ä∞âÅδùê ∞û¼δ₧íδ╢║ ∞¢ä∞âÅ∞âî ∞â║∞âÑδùë δâªδƒÄδú¡∞é╗ δçó∞âö∞ƒÆ
  680. δ│╢δéí ∞âûδôÖ. ∞éº∞âç δçùδó▓δâ║ δé░∞âî δ▓│∞åñ∞âî δùçδ╗║δôÖδú⌐ δ»╜δ▓║δùçδôé ∞âÜδºÖδ╗░δ╗«∞âç δ│Æδ╢║δ╛í
  681. δôÖ∞é╜δâ║ δé░∞âî ∞¢╖∞ƒöδùë δâì∞âîδôÖ.
  682.  
  683. package Geomatric;
  684.  
  685. import java.math.*;
  686. import java.graphics.*
  687.  
  688. Import Window
  689.  
  690.                                     [pic]
  691.  
  692. Import∞ƒÆ ∞¢É∞û░∞ç╢δéí ∞âûδôÖδú⌐ Import ∞é⌐δû╡δ┐¼δóª δ»ºδ┐½∞ƒÆ δ│╢δéí ∞âûδôÖ. ∞âîδâì∞é║ ∞âÜδºÖδ╛íδ▓¡
  693. δçóδ¬╗∞â╗∞é╕δƒÄ ∞åªδâ╕∞ƒÅδôé δô½δ½Äδ½É∞âç ∞¢É∞û░∞ç╢δ╛í δô½∞ƒæ δçóδ│║∞é╗ ∞¢╖∞ƒö∞ƒÅδâ¡ ∞âûδ╗«, δó╣∞é║
  694. δâªδ┐¼δ╛í ∞âûδ╗«δ▓¡ δºÖδƒÄ δ▓▒∞ùâ∞ƒÅδ╛⌐ δ»░∞âö∞ƒÆ δ│╢ ∞âûδôÖ. δó╕δ╗á δ╗╕δôé δâªδ┐¼δ╛íδôé EditδºÜδ╢║δ╛í
  695. ∞ç╖∞åó δçó∞âö∞ƒÆ δ│╢ ∞âûδôÖ.
  696.  
  697. 4.7 δ▓│δâ¿∞åñδ¬╕ δ▓│∞åñ∞ƒÅδçó
  698.  
  699. Design Information Window
  700.  
  701.                                     [pic]
  702.  
  703. δ▓│δâ¿δ╛í δâ╝∞ƒæ ∞åñδ¬╕δù⌐δû╡ δ▓│∞åñ∞ƒÆ δ│╢δéí ∞âûδôéδûÑ, Title, Author, Commentsδéí
  704. δçùδâìδù⌐∞âîδôÖ. Titleδ╛íδôé δú░δû¿∞âç ∞âîδóº∞é╗, Authorδ╛íδôé ∞â║∞âÜ(δé│맟∞âÜ)∞âç ∞âîδóº, δçùδó«δâ¡
  705. Commentsδ¢╡δ╛íδôé δô½∞Ū∞âç δ▓│δú¡∞âîδĬ, δçù δ┐£∞âç δ╗«δÜ▓ δâìδû╡ δ┐â δ│╢δéí ∞âûδôÖ. ∞âîδâì∞é║
  706. ∞âÜδºÖδ╗░δ╗«∞âç δ»╜δ▓║δ╛íδ▓¡ ∞çûδ▓«δª«∞é╕δƒÄ δù⌐δ╗«δéíδâö δùçδôéδûÑ, Commentsδ½Äδ½É∞é║ ∞Ü»δ¬░∞ƒæ
  707. ∞çûδ▓«∞âç ∞ƒ╝∞ùé∞âÄ /** ... */ ∞é╕δƒÄ δù⌐δ╗«δéíδâö δùêδôÖ. ∞âî ∞ƒ╝∞ùéδôé ∞Ü»∞åñ ∞é»∞Ü┐δó«∞Ü╝δ╛í
  708. ∞âç∞ƒÿδ▓¡ ∞âÜδû┐∞é╕δƒÄ δª«δ▓¡∞ó¡δéí δùë δ│╢ ∞âûδôé ∞âÑ∞åí∞âî ∞âûδôÖ. δçùδó«δâ¡ δó╢∞ç╢δó╖δ╛í δ¬╕∞âîδôé
  709. ∞₧Ñ∞ƒ╝∞ùéδôé δú«δéí∞ç╢∞âç ∞åñδ¬╕δóª δ¬╕δ╛⌐∞çûδôéδûÑ, ∞û¼δ₧íδ╢║∞âç δé│δ│╢, ∞âÄ∞ùì∞¢É∞âîδ╢║∞âç δé│δ│╢,
  710. δ╛¼δâ╝∞âç δé│δ│╢ δù« δ╛⌐δ₧»δéí∞ç╢∞âç ∞åñδ¬╕δóª δĬ∞û╕δÄ╗δ╗« ∞çÿδôÖ. δó╕δ╗á ∞éºδ┐ì δé░∞âî ∞¢¡∞ç╜δùçδ╗║δôÖδú⌐
  711. δ╗åδ₧íδ┐ì δé░∞é║ ∞çûδ▓«δª«∞âî δ»░∞âöδùë δâì∞âîδôÖ.
  712.  
  713. /*
  714.  * This program was generated by PLASTIC
  715.  *
  716.  * Author : Hong Gil-Dong
  717.  * Title : Geomatric Library Project
  718.  * Generated Date : 97-07-18
  719.  */
  720.  
  721. ...
  722.  
  723. /**
  724.  * Copyright(c) 1996. 4 ~ 1997. 7 All Rights Reserved.
  725.  * Dong-A University.
  726.  */
  727.  
  728.  
  729. 5. Design Patterns
  730.  
  731. 5.1 Design Patterns∞âç δ│Æδé│
  732.  
  733. What Is a Design Patterns.
  734.  
  735. Design Pattern∞âîδ¢╡ δ│Æ∞ƒü∞Ü«δ┐╛δ╗«∞âç δú░δû¿δó╡δ╛íδ▓¡ ∞âÜ∞çû δºƒδâƒδùçδôé δª«∞åªδù⌐∞é╗ δçóδ│║∞ƒÅδâ¡,
  736. δ¢ç∞ƒæ δçùδ₧»∞ƒæ δª«∞åª∞âç ∞ƒÿδâíδ╛í δô½∞ƒæ ∞ƒÖδ╖ë∞é╗ δçóδ│║∞ƒÿ δÅ╡∞é║ δâì∞é╕δƒÄδ╖í, δª«∞媠∞ƒÿδâíδ╛í
  737. δô½∞ƒæ δû┐∞âÅ∞ƒæ δŽδƒé∞âç δº¥δ¬╣δ╗╕∞âî δª«∞媠∞ƒÿδâí∞âç ∞ó┐δâ║δóª δ╗▓∞é╗ δ│╢ ∞âûδôé δúàδ┐¼ δé¡δƒé∞ƒæ
  738. ∞âÑ∞åí∞é╗ δéí∞ç╕ δâì∞âîδôÖ.
  739.  
  740. Design Patterns∞âç ∞å╛δƒ╣δôé δó╣∞âî ∞âûδôéδûÑ ∞û⌐δâö Creational Patterns, Structural
  741. Patterns, Behavioral PatternsδƒÄ δĬδÆ⌐δâ¡ δéóδéóδ╛í δô½∞ƒÿδ▓¡ δ╛⌐δ₧»δé│∞âç ∞¢É∞ùÅ∞âî
  742. ∞å╕∞âº∞ƒæδôÖ. δ┐¼δ▓▒ Creational Patternsδ╛íδôé Abstract Factory, Builder, Factory
  743. Method, Prototype, Singleton∞âî ∞âûδâ¡, Structural Patternsδ╛íδôé Adapter,
  744. Bridge, Composite, Decorator, Facade, Flyweight, Proxyδéí ∞âû∞é╕δúº, Behavioral
  745. Patternsδ╛íδôé Chain of Responsibility, Command, Interpreter, Iterator,
  746. Mediator, Memento, Observer, State, Strategy, Template Method, Visitorδéí
  747. 샖듙.
  748.  
  749. Ωçÿ δ╛⌐δçóδ╛í δĬδ┐Çδôé Design Patternsδ╛í δâ╝∞ƒæ δô½δ½Äδ½É∞âç δÄ╗δ┐½∞é║ Design Patterns:
  750. Elements of Reusable Object-Oriented Software (∞â║∞âÜ: Erich Gamma, Richard
  751. Helm, Ralph Johnson, John Vlissides. ∞Åó∞¢ç믧:Addison-Wesley) ∞ÄÑ∞é╗ ∞âÄδ┐½∞ƒÅδâàδĬ
  752. ∞ï╝δâ¡∞ƒƒ∞é╜∞é╗ δºá∞ú╣δôÖ.
  753.  
  754. Plasticδ╛íδ▓¡ Design Pattern∞é╗ ∞â¢δ▓║∞ƒÅδâ¡, δ»░∞âö∞ƒÅδçó
  755.  
  756. Plasticδ╛íδ▓¡δôé δ»ºδ┐½∞âÜ ∞åñ∞âç Pattern∞é╗ ∞â║∞âÑ∞ƒÅδâàδĬ, ∞âîδºî ∞å╕∞âº∞ƒÅδôé Pattern∞é╗
  757. ∞ƒ╢∞⺠δú░δû¿δƒÄ δ»░∞âö∞ƒÆ δ│╢ ∞âûδôé δçóδôë∞âî ∞âûδôÖ. δ»ºδ┐½∞âÜ ∞åñ∞âç Pattern∞é╗ δ»╜δ▓║∞ƒÅδƒüδú⌐
  758. δôÖδóÑ δâì∞é╗ ∞åªδ┐£∞ƒæ δ│╕δ│╢∞ƒÅδâö ∞¢É∞ùÅδ╛í δô½∞ƒæ δâìδó╕∞é╗ ∞¢¡∞ç╜∞ƒæ ∞úä Patternsδú₧δÆ║δ╛íδ▓¡
  759. Save As Design Pattern∞é╗ δ▓▒∞ùâ∞ƒÅδ╛⌐ ∞â║∞âÑ∞ƒÅδú⌐ ∞ó«∞âÑ∞âÜδéí .pat∞âÄ ∞¢ä∞âÅ∞âî δ»╜δ▓║δùçδâö
  760. δùêδôÖ. δçùδó«δâ¡ Pattern∞é╗ δ»░∞âö∞ƒÅδâ¡∞âÜ ∞ƒæδôÖδú⌐ Patternsδú₧δÆ║δ╛íδ▓¡ Insert Design
  761. Pattern∞é╗ δ▓▒∞ùâ∞ƒÅδ╛⌐ ∞¢ä∞âÅδú¡∞é╗ ∞ç╢∞åñ∞ƒÿ∞çûδú⌐ ∞ƒ╢∞⺠δú░δû¿δ╛í δ»░∞âö∞âî δùêδôÖ.
  762.  
  763. 5.2 δú«δéí∞ç╢ Design Patterns.
  764.  
  765. 5.2.1 Factory Method (Class Creational)
  766.  
  767.                                     [pic]
  768.  
  769. Factory Method ∞¢É∞ùÅ∞é║ Virtual Constructorδ¢│δâ¡δû╡ δ╗ïδƒü∞å« ∞âûδôéδûÑ, δé┤∞Ä╝δóª
  770. δ»╜δ▓║∞ƒÅδçó ∞éº∞ƒæ ∞âÄ∞ùì∞¢É∞âîδ╢║δóª ∞åªδâ╕∞ƒæδôÖ. ∞ƒÅ∞ç╢δó╕ δ╗«δÜ▓ ∞û¼δ₧íδ╢║∞âç ∞âÄδ╢║∞ùÅδ╢║δóª δ»╜δ▓║∞ƒÆ
  771. δâì∞âÄ∞ç╢δôé ∞âîδâì∞âç δ▓¡δ½¬∞û¼δ₧íδ╢║δéí δâí∞åñ∞ƒæδôÖ. Factory Methodδôé ∞û¼δ₧íδ╢║δéí ∞âÄδ╢║∞ùÅδ╢║∞âç
  772. δ»╜δ▓║∞é╗ δ▓¡δ½¬∞û¼δ₧íδ╢║δƒÄ δºî럧δû╡δƒÅ ∞ƒæδôÖ.
  773.  
  774. ∞麠δçùδó▓δ╛íδ▓¡ Creator∞âç FactoryMethod()δôé ∞Ńδ»│δú₧δ│ÆδùÑδƒÄδ╖í δçùδâì∞é║ δ╗«δÜ▓ δâìδû╡
  775. δ»╜δ▓║∞ƒÅ∞ç╢ δ╗èδâ¡ δôÖδó╕ δçùδâì∞âç δ▓¡δ½¬∞û¼δ₧íδ╢║∞âÄ ConcreteCreator∞âç FactoryMethod()δóª
  776. ∞âº∞åñ∞âç ∞ƒö∞é╕δƒÄδ╖í δ╗«δÜ▓ ∞û¼δ₧íδ╢║∞âç ∞âÄδ╢║∞ùÅδ╢║δóª δ»╜δ▓║∞ƒÆ δâì∞âÄ∞ç╢δóª δâí∞åñ∞ƒæδôÖ. δçùδâì∞é║
  777. δºÖδƒÄ ConcreteProduct ∞âç ∞âÄδ╢║∞ùÅδ╢║ ∞âîδôÖ. δ╗åδ₧íδ╛í δéúδô£∞ƒæ ∞âÜδºÖ δ╗░δ╗«δƒÄ δô½∞Ū∞âç
  778. δâ▒δâ¥∞é╗ δĬ∞û╕δÄ╗δ╗║δâ¡ δéúδô£∞ƒæ δ╛╣δéí ∞âûδôÖ.
  779.  
  780. abstract class Creator {
  781.         public abstract void FactoryMethod();
  782.         public void AnOperation() {
  783.                 ...
  784.         }
  785. }
  786.  
  787. class ConcreteCreator extends Creator {
  788.         /* It Creates Instance of ConcreteProduct Class */
  789.         public void FactoryMethod() {
  790.                 return new ConcreteProduct();
  791.         }
  792. }
  793.  
  794. [pic]
  795.  
  796. 5.2.2 Composite (Object Structural)
  797.  
  798.                                     [pic]
  799.  
  800. δé┤∞Ä╝δù⌐∞é╗ δ½Äδ½É-δºù-∞â╝∞Ä╝∞âç δâö∞Å╛δå╕∞å╢δóª δĬ∞û╕δÄ╗δçó ∞éº∞ƒÅδ╛⌐ ∞Ü«δó«δå╕∞å╢δƒÄδ╖í δå╕δ▓║∞ƒæδôÖ.
  801. Compositeδôé ∞û¼δ¢│∞âîδ╗░∞Ü«δéí δé│δé│∞âç δé┤∞Ä╝δ┐ì δçù δé┤∞Ä╝∞âç ∞å╢∞ƒò(composition)∞é╗
  802. δçò∞âÅ∞ƒÅδâö δôÖ䃬 δ│╢ ∞âûδû╡δƒÅ ∞ƒÿ ∞çÿδôÖ.
  803.  
  804. ∞麠δçùδó▓δ╛íδ▓¡ Clientδôé Componentδóª ∞åóδçÖ∞ƒÅδâ¡ Compositeδôé Component∞âç
  805. δ▓¡δ½¬∞û¼δ₧íδ╢║∞âîδôÖ. Operation∞é╗ ∞óú∞Åó∞ƒƒ δܺ, δó╕δ╗á δçù δé┤∞Ä╝δéí Left∞âç ∞âÄδ╢║∞ùÅδ╢║δ¢│δú⌐
  806. δé│δ¬░∞â╗∞âÄ δ╗«δÜ▓ ∞â¢δ╗╖∞é╗ δ│╢∞ƒá∞ƒÅδâ¡, Composite∞âç ∞âÄδ╢║∞ùÅδ╢║δ¢│δú⌐ δçùδâì∞âî ∞¢╖∞ƒö∞ƒÅδâ¡
  807. ∞âûδôé Component δé┤∞Ä╝δù⌐δ╛í δô½∞ƒæ δú░δùº ∞â¢δ╗╖∞é╗ δçò∞âÅ∞ƒÅδâö δ│╢∞ƒá∞ƒÅδâö δùë δâì∞âîδôÖ.
  808. δôÖ∞é╜δ╛í ∞âÜδºÖδ╗░δ╗«∞âç δâ▒δâ¥δâ║ δ╛╣∞åªδéí ∞âûδôÖ.
  809.  
  810. class Component {
  811.         public void Operation() {
  812.                 ...
  813.         }
  814. }
  815.  
  816. class Leaf extends Component {
  817.         public void Operation() {
  818.                 ...
  819.         }
  820. }
  821.  
  822. class Composite extends Component {
  823.         List children = new List();
  824.         public void Operation() {
  825.                 // for g all in children g.Operation();
  826.                 ...
  827.         }
  828.         public void Add(Component AComponent) {
  829.                 List.Add(AComponent);
  830.         }
  831.         public void Remove(Component AComponent) {
  832.                 List.Remove(AComponent);
  833.         }
  834.         public int GetChild() {
  835.                 return List.Count;
  836.         }
  837. }
  838.  
  839. [pic]
  840.  
  841.  
  842. 6. Java Editor
  843.  
  844. 6.1 Java Editor∞âç δ│Æδé│
  845.  
  846.                                     [pic]
  847.  
  848. Java Editorδôé Plasticδ╛í ∞¢╖∞ƒöδùçδ╗« ∞âûδôé ∞âÜδºÖδ╗░δ╗«δóª ∞éº∞ƒæ δ╛íδù░∞ùì∞âîδôÖ. ∞âîδâì∞é║
  849. ∞ùÿδ╢║∞Ü« δª«δ▓¡δóª ∞¢¡∞ç╜∞ƒÆ δ│╢ ∞âûδû╡δƒÅ δâ¡δ╗êδùçδ╗« ∞âûδôéδûÑ, ∞ó«∞âÑ∞âÜ .java, .htm, .html,
  850. .txt δù«∞é╗ δ½Æδ₧»δ┐â δ│╢ ∞âûδôÖ. δ╛⌐δ₧»δé│∞âç δª«δ▓¡δóª ∞ƒæδè¿δº╕δ╛í ∞¢¡∞ç╜∞ƒÆ δ│╢ ∞âûδôéδûÑ, ∞âîδâì∞é║
  851. MDI(Multiple Document Interface)δ╛í δçó망∞ƒæ δºªδº╜∞âî δ╗åδôæ Page Tab∞é╗ ∞âîδ┐½∞ƒæ
  852. δâì∞âîδ¢│ MDIδ╛í δ½▒∞ƒÿ δª«δ▓¡∞â¢δ╗╖∞âç ∞â╝∞ó»∞âî δ½╝δóúδúº δ┐Ç∞ú╖δƒü δô╡ ∞¢¡δó«∞ƒÅδôÖ.
  853.  
  854. [pic]
  855.  
  856. δçùδó«δâ¡ ∞âÜδºÖ ∞ôä∞¢ä∞âÅδ₧»∞âç δ┐ëδ│ç∞é╗ δ▓│∞åñ∞ƒÅδú⌐ δº╢∞Ü░ ∞ƒÅδĬδƒÄ ∞ôä∞¢ä∞âÅ∞é╗ ∞ƒÆ δ│╢ ∞âû∞é╕δúº,
  857. Compile Errorδôé Message Windowδéí δĬ∞û╕δÄ╗δ╗« ∞çûδôéδûÑ δ╛íδù░∞Ü« ∞é⌐δû╡δ┐¼ δºÖδƒÄ δ╗åδ₧íδ╛í
  858. δ»╜δâ£δ▓¡ δù░δº╢δç½δû╡ ∞¢¡δó«∞ƒÅδâö ∞ƒÆ δ│╢ ∞âûδû╡δƒÅ δû╡δ┐ì∞çÿδôÖ.
  859.  
  860. ∞âÜδºÖ δ╛íδù░∞ùìδôé δçó∞å╕∞âç δ╛íδù░∞ùìδ┐ì δ½▒δ╖ü∞ƒæ δú₧δÆ║δóª δéí∞ç╢δôéδûÑ, File, Edit, Search,
  861. Compile, Help ∞åñδû╡∞âç δú₧δÆ║δóª δéí∞ç╢δâ¡ ∞âûδâ¡, δ½╝δóÑ ∞â¢δ╗╖∞é╗ ∞éº∞ƒÿ Speed Buttons∞é╗
  862. ∞âÜ∞çû δ║▓δôé δú₧δÆ║δ╛í ∞ƒÆδôº∞ƒÿ δÅ╡δ╗ÆδôÖ. δ╢║∞ƒç∞Ü« δº╢∞Ü░∞é║ δ┐₧∞ïèδ╛íδ▓¡ ∞ï╖δƒèδô½δƒÄ, New, Open,
  863. Save, Print, Cut, Copy, Paste, Find, Find Next, Replace, Compile∞âîδôÖ.
  864. δçùδó«δâ¡ ∞¢¡∞ç╜ ∞é⌐δû╡δ┐¼∞âç ∞ùçδ╛íδôé ∞¢ä∞âÅ∞âç ∞âîδóº∞âî δĬ∞û╕δÄ¡δôÖ. δ╗åδ₧í∞âç δ»│∞ùéδºÖδ╛íδôé ∞ƒ╢∞âº
  865. ∞¢¡∞ç╜∞çƒ∞âÄ δâ╖∞âç Columnδâ║ Rowδóª δĬ∞û╕δĬδúº, δçù δ┐ÇδóÑ∞ïèδ╛íδôé δ¬»δâª∞âç δ╛⌐δ½Äδóª
  866. Modifiedδ¢│δôé δª«∞âÜδóª ∞ù½∞ƒÿδ▓¡ δĬ∞û╕δÄ╗δúº, δçù δ╛╖δ╛íδôé ∞¢¡∞ç╜∞çƒ∞âÄ ∞¢ä∞âÅ∞âç δ┐Å∞â╝∞ƒæ
  867. δâªδƒÄδéí δĬ∞û╕δÄ¡δôÖ.
  868.  
  869. 6.2 Java Editor ∞âîδ┐½∞ƒÅδçó
  870.  
  871. δ»╡ δª«δ▓¡δóª δ»╜δ▓║∞ƒÆ δܺδ╛íδôé File | New δú₧δÆ║δóª δ▓▒∞ùâ∞ƒÅδâàδĬ, δ╢║∞ƒç∞Ü« δº╢∞Ü░ ∞çƒδ╛í
  872. Newδ¢│δôé ∞ú╣∞Ü«(Hint)δéí δĬ∞û╕δĬδôé δº╢∞Ü░∞é╗ δÆ⌐δóúδú⌐ δùêδôÖ. ∞âî δܺ ∞ó«∞âÑ∞âÜδôé δçóδ¬╗∞â╗∞é╕δƒÄ
  873. .java∞âîδôÖ. δçùδó«δâ¡ ∞ƒÅδĬ ∞âîδ»│∞âç δª«δ▓¡δéí ∞âîδºî δ╛¡δƒü∞âûδôÖδú⌐, δó╢δ┐¼δ╢║∞âç δ┐ÇδóÑ∞ïè
  874. δº╢∞Ü░∞é╗ δÆ¡δ₧»δ▓¡ δĬ∞û╕δÄ¡ ∞¢ïδ╗╖ δú₧δÆ║δ╛í New Edit Pageδóª δ▓▒∞ùâ∞ƒÿδû╡ δùêδôÖ. δª«δ▓¡δóª
  875. δ╛¡δâ¡∞âÜ ∞ƒÆ δܺδ╛íδôé File | Open∞é╗ δ▓▒∞ùâ∞ƒÅδâàδĬ ∞ƒÿδôº δ╢║∞ƒç∞Ü« δº╢∞Ü░∞é╗ δ▓▒∞ùâ∞ƒæδôÖ.
  876. δçùδó«δâ¡ δª«δ▓¡ δô¥δçóδóª δ┐╕∞ƒÆδܺδ╛íδû╡ File | Closeδóª δ▓▒∞ùâ∞ƒÅδâàδĬ δ┐ÇδóÑ∞ïè δº╢∞Ü░∞é╗ δÆ¡δ₧»
  877. ∞¢ïδ╗╖δú₧δÆ║δéí δĬ∞û╕δĬδâö ∞ƒæ δôÖ∞é╜ Close Pageδóª δ▓▒∞ùâ∞ƒÿδû╡ δùêδôÖ.
  878.  
  879. ∞¢¡∞ç╜ ∞çƒ∞âÄ ∞âÜδºÖ δ╗░δ╗«δóª ∞ôä∞¢ä∞âÅ ∞ƒÅδâ¡∞âÜ ∞ƒæδôÖδú⌐ δô£∞ç╢ [F8]∞é╗ δÆ⌐δóúδâàδĬ Compile∞é╗
  880. δ▓▒∞ùâ∞ƒÅδú⌐ δùêδôÖ. δçùδ₧▒δûÑ ∞âîδ₧╕δâö ∞ƒÅδçó ∞âî∞â╝δ╛í Plastic∞âç Optionδú₧δÆ║∞âç Environment
  881. Pageδ╛íδ▓¡ ∞âÜδºÖ∞ôä∞¢ä∞âÅδ₧»∞âç δâªδƒÄδóª δº¥δùÑδ╖â δ▓│∞åñ∞ƒÿ∞çûδ╗«δ╗ƒ ∞ƒæδôÖ. ∞ôä∞¢ä∞âÅ∞âî δÄíδÄ╡∞é╗ δܺ
  882. δó╕δ╗á δ╛íδ₧»δéí ∞âûδôÖδú⌐ δ╗åδ₧í∞ïèδ╛í δ»╡δƒÄδ┐« δó«δ╢║∞Ü«δºÜδ╢║δéí δĬ∞û╕δĬδú⌐δ▓¡ δ½ô∞é║ δ»╢∞é╕δƒÄ
  883. δ╛íδ₧»δóª δ╗ïδƒü∞çÖδâì∞âîδôÖ. δçùδ₧╕∞Æí δ╗èδôÖδú⌐ Compile Completelyδ¢│δôé δú₧δ╖â∞ç╢δéí δĬδ┐Çδú⌐δ▓¡
  884. ∞ôä∞¢ä∞âÅδ╛í δ▓║δâ╕∞ƒƒδôÖδôé δú₧δ╖â∞ç╢δóª δ¬╕δ╛⌐∞çÖ δâì∞âîδôÖ.
  885.  
  886. δç¢δïâ δºù δ»╢δ»│δºÖδïÖδçó∞é╗ δºÖδïÖδâ¡ δ╖ìδôÖδú⌐ Plastic∞âç Option∞âç Editor Pageδ╛íδ▓¡
  887. δçùδâì∞é╗ δ▓│∞åñ∞ƒÆ δ│╢δéí ∞âûδôÖ. δçùδó«δâ¡ ∞ƒüδó░∞Ü«δƒÄ ∞Åóδƒé∞é╗ δ┐╕∞ƒæδôÖδú⌐ File | Print...δóª
  888. δ▓▒∞ùâ∞ƒÅδú⌐ δùêδôÖ. ∞âÜδºÖ δ╛íδù░∞ùìδôé δû╢δó│∞â╗∞âÄ δ╗û∞ƒâδó«∞ôë∞âîδ│ç∞âî δ╗åδôÅδçó δÜºδª«δ╛í δçùδâì∞âç
  889. ∞û⌐δçóδ┐ì ∞éº∞Æí δçùδó«δâ¡ δç¢δïâ δºù δ»╢δ»│∞âî δú░δùÄ δôÖ∞é╜δº╕ δ╖ç∞ƒáδܺδ╛íδû╡ ∞é»∞ç╢δéí δùçδºçδƒÄ,
  890. ∞âÜδ╖àδ╛íδâö ∞¢¡δó«∞ƒæ ∞éº∞Æíδ┐ì ∞û⌐δçóδóª δ▓│∞åñ∞ƒÿ δùÄδú⌐ ∞çüδôÖ.
  891.  
  892.  
  893. 7. Examples
  894.  
  895. 7.1 Java Applet
  896.  
  897.                                     [pic]
  898.  
  899. Plastic∞é║ ∞âÜδºÖ∞âç Appletδé│맟δ╛í δû╡δ┐▓∞âî δùë δ│╢ ∞âûδôé δ╗û∞ƒâδó┤
  900. ∞ù¢∞ƒâδó┤(AppletTemplate.pla)δóª ∞åªδâ╕∞ƒÅδâ¡ ∞âûδôÖ. ∞âîδâì∞é║ δ╗û∞ƒâδó┤δ╛í δâ╝δƒâδùê ∞û¼δ₧íδ╢║
  901. δºù ∞âÄ∞ùì∞¢É∞âîδ╢║δ┐ì δçùδâì∞âî δéí∞ç╢δâ¡ ∞âûδôé δú₧δ│ÆδùÑδù⌐∞é╗ δ¬╕δ╛⌐∞çûδâ¡ ∞âûδ╗«δ▓¡ δ╗û∞ƒâδó┤δé│맟δ╛í
  902. δó╣∞é║ δû╡δ┐▓∞é╗ ∞çÿδôÖ. Applet, AppletContext, AppletStub, AudioClip∞é║
  903. java.applet ∞¢É∞û░∞ç╢δ╛í ∞¢╖∞ƒöδùçδ╗« ∞âûδôé δâìδù⌐∞âîδôÖ. δçùδ₧íδ▓¡ Package Windowδóª δ╛¼ ∞úä,
  904. Importδ½Äδ½É∞é╗ δ¬╕δú⌐ java.applet.*δéí δ»░∞âöδùçδ╗« ∞âûδôé δâì∞é╗ δ¬╝ δ│╢ ∞âû∞é╗ δâì∞âîδôÖ.
  905. ∞âÜδºÖ∞âç δ╗û∞ƒâδó┤∞é║ Applet∞û¼δ₧íδ╢║δƒÄδ½Ä∞ùì δ»│δ│ô∞é╗ δº₧δ╗åδ╗ƒ ∞ƒæδôÖ. MyAppletδ½Äδ½Éδ╛í
  906. ∞âÜδ╖à∞âî δ┐╕∞ƒÅδôé δ╗û∞ƒâδó┤∞é╕δƒÄ ∞Ńδéí, ∞ó«∞âÑ∞ƒÅδçóδó╕ ∞ƒÅδú⌐ δùêδôÖ.
  907.  
  908. [pic]
  909.  
  910. δ╗û∞ƒâδó┤ ∞ù¢∞ƒâδó┤∞é╗ ∞âîδ┐½∞ƒÅδ╛⌐ δéúδô£∞ƒæ δ╗û∞ƒâδó┤ δ╛╣∞åª(AppletDemo.pla)δóª δ¬╝ δ│╢ ∞âûδôÖ.
  911. ∞âîδâì∞é╗ δ╛¡δú⌐ ∞éº∞âç δçùδó▓δâ║ δé░∞âî δĬδ┐ÇδôéδûÑ, MyApplet∞âî GraphicsApplet∞é╕δƒÄ
  912. ∞ó«∞âÑδùçδ╗« ∞âûδôé δâì∞é╗ δ╗ï δ│╢ ∞âûδôÖ. ∞âîδâì∞é╗ Java Code Generatorδóª ∞âîδ┐½∞ƒÅδ╛⌐ Java
  913. SourceδƒÄ δó╕δù⌐δâ¡, ∞ôä∞¢ä∞âÅ∞ƒÅδú⌐ GraphicsApplet.classδéí δĬδ┐ÇδôéδûÑ ∞âîδâì∞âî δºÖδƒÄ
  914. δ┐Åδ▓║δùê δ╗û∞ƒâδó┤∞âî δùêδôÖ.
  915.  
  916. /*
  917.  * This program was generated by PLASTIC
  918.  *
  919.  * Author : Min-Kyu Lee
  920.  * Title : GraphicsApplet
  921.  * Generated Date : 97-07-22
  922.  */
  923.  
  924. package GraphicsApplet;
  925.  
  926. import java.awt.*;
  927. import java.applet.*;
  928.  
  929. /**
  930.  * This example is from :
  931.  *
  932.  * HOOKED ON JAVA
  933.  * Arthur van Hoff, Sami Shaio, Orca Starbuck.
  934.  * Addison-Wesley Publishing Company.
  935.  *
  936.  * An applet that draws different shapes depending
  937.  * on the configuration of the HTML tag. It
  938.  * accepts the following attributes in addition
  939.  * to the standard attributes:
  940.  *
  941.  * SHAPE - on of "Line", "Rectangle", "String" or "Image"
  942.  * COLOR - which foreground color to use.
  943.  * TEXT - If SHAPE is "String" this is the text to draw.
  944.  * IMAGE - If SHAPE is "Image" this is the image to draw.
  945.  */
  946.  
  947. public class GraphicsApplet extends Applet {
  948.         Font appFont;
  949.         Color appColor;
  950.         String appShape;
  951.         String appText;
  952.         Image image;
  953.         public void init() {
  954.                 appFont = new Font("Helvetica", Font.BOLD, 14);
  955.                 String arg = getParameter("COLOR");
  956.                 if (arg != null) {
  957.                         appColor = colorFromString(arg, Color.red);
  958.                 }
  959.                 appShape = getParameter("SHAPE");
  960.                 if (appShape == null) {
  961.                         appShape = "Line";
  962.                 }
  963.                 appText = getParameter("TEXT");
  964.                 if (appText == null) {
  965.                         appText = "Graphics";
  966.                 }
  967.                 arg = getParameter("IMAGE");
  968.                 if (arg != null) {
  969.                         image = getImage(getDocumentBase(), arg);
  970.                 }
  971.         }
  972.         public Color colorFromString(String s, Color defaultColor) {
  973.                 Integer i;
  974.                 try {
  975.                         i = Integer.valueOf(s, 16);
  976.                         return new Color(i.intValue());
  977.                 } catch (NumberFormatException e) {
  978.                         return defaultColor;
  979.                 }
  980.         }
  981.         public void drawCenteredString(String s, Graphics g, Dimension r) {
  982.                 FontMetrics fm = g.getFontMetrics(appFont);
  983.           g. drawString(s,
  984.                         (r.width - fm.stringWidth(s)) / 2,
  985.                         (r.height - fm.getHeight()) / 2);
  986.         }
  987.         public void paint(Graphics g) {
  988.                 Dimension r = size();
  989.                 g.setColor(appColor);
  990.                 if (appShape.equalsIgnoreCase("line")) {
  991.                         g.drawLine(0, 0, r.width, r.height);
  992.                 } else if (appShape.equalsIgnoreCase("rectangle")) {
  993.                         g.drawRect(0, 0, r.width - 1, r.height - 1);
  994.                 } else if (appShape.equalsIgnoreCase("image")) {
  995.                         g.drawImage(image, 0, 0, r.width, r.height, this);
  996.                 } else if (appShape.equalsIgnoreCase("string")) {
  997.                         g.setFont(appFont);
  998.                         drawCenteredString(appText, g, r);
  999.                 }
  1000.         }
  1001. }
  1002.  
  1003. δ┐Åδ▓║δùê δ╗û∞ƒâδó┤∞é╗ δ¬╕δçó∞éº∞ƒÿδ▓¡δôé JDK∞âç appletviewerδĬ Netscape Navigator,
  1004. Internet Explorer δé░∞é║ ∞éÑ佬δ¢│δ┐¼∞â║δóª ∞âîδ┐½∞ƒÆ δ│╢δéí ∞âûδâÜδôéδûÑ, ∞éÑ佬δ¢│δ┐¼∞â║δ╛íδ▓¡ δ¬╝
  1005. δ│╢ ∞âûδû╡δƒÅ GraphicsApplet.html∞âî ∞åªδâ╕δùçδâ¡ ∞âûδôÖ. δôÖ∞é╜δ╛í HTMLδ│Æδ╢║δ┐ì
  1006. Netscapeδ╛íδ▓¡∞âç δ╖ç∞ƒáδâíδâ║ ∞ó¡δú⌐∞é╗ δ¬╝ δ│╢ ∞âûδôÖ.
  1007.  
  1008. <HTML>
  1009. <HEAD>
  1010.   <TITLE>GraphicsApplet Demo</TITLE>
  1011. </HEAD>
  1012. <BODY>
  1013.   <H1>GraphicsApplet</H1>
  1014.   This Applet was generated by Plastic 1.0 for Java.<br>
  1015.   Author : Min-Kyu Lee<br>
  1016.   Title : GraphicsApplet<br>
  1017.   Generated Date : 97-07-21<br>
  1018.   <HR>
  1019.   <APPLET code="GraphicsApplet.class" width=350 height=50>
  1020.     <PARAM NAME="SHAPE" VALUE="Rectangle">
  1021.     <PARAM NAME="COLOR" VALUE="ffffff">
  1022.   </APPLET>
  1023.   <BR>
  1024.   <APPLET code="GraphicsApplet.class" width=350 height=50>
  1025.     <PARAM NAME="SHAPE" VALUE="String">
  1026.     <PARAM NAME="COLOR" VALUE="ff0000">
  1027.     <PARAM NAME="TEXT" VALUE="Object-Oriented Modeling Tool - Plastic 1.0">
  1028.   </APPLET>
  1029.   <BR>
  1030.   <APPLET code="GraphicsApplet.class" width=350 height=50>
  1031.     <PARAM NAME="SHAPE" VALUE="String">
  1032.     <PARAM NAME="COLOR" VALUE="0000ff">
  1033.     <PARAM NAME="TEXT" VALUE="Java AppletDemo (using AppletTemplate.pla)">
  1034.   </APPLET>
  1035. </BODY>
  1036. </HTML>
  1037.  
  1038.                                     [pic]
  1039.  
  1040.  
  1041. 7.2 Java Application
  1042.  
  1043. ∞âÜδºÖδ╛íδ▓¡ δ╗û∞ƒâδó«∞ôë∞âîδ│ç∞é╗ ∞éº∞ƒæ δ╛╣∞åªδû╡ ∞åªδâ╕δùêδôÖ. ApplicationDemo.plaδôé Red,
  1044. Green, Blue∞âç ∞å╢∞â╜∞é╗ ∞ù½∞ƒÅδ╛⌐ δçùδâìδù⌐∞âç ∞å╢∞ƒò∞âî δó╕δù⌐δ╗«δÄ╗δôé δ»╢δ»│∞é╗ δ¬╕δ╛⌐∞çûδôé
  1045. ∞ƒüδƒÄδçùδ₧Ñ∞âîδôÖ. ∞âîδâì∞é╗ δ╗û∞ƒâδó┤∞âî δ╗åδôÅδºçδƒÄ ∞éÑ佬δ¢│δ┐¼∞â║δĬ, appletviewerδ╛íδ▓¡δôé
  1046. δ╖ç∞ƒá∞ƒÿ δ¬╝ δ│╢ δ╗╕δâ¡, JDK∞âç java δù«∞âç ∞ƒüδƒÄδçùδ₧Ñ∞é╗ ∞âîδ┐½∞ƒÿδ╗ƒ ∞ƒæδôÖ.
  1047.  
  1048.                                     [pic]
  1049.  
  1050. ∞âî δ╗û∞ƒâδó«∞ôë∞âîδ│ç∞é║ ∞é⌐δû╡δ┐¼δóª δ╛¡δ╗«δ╗ƒ ∞ƒÅδºçδƒÄ Frame∞é╕δƒÄδ½Ä∞ùì δ»│δ│ô∞é╗ δº₧δ╗ÆδôÖ.
  1051. δçùδó«δâ¡ main∞âî δ╖ç∞ƒáδùçδâö δùêδôÖ. handleEventδôé δ»ºδ┐½∞âÜδéí ∞ƒÆ δ│╢ ∞âûδôé ∞ƒáδû┐δ╛í δô½∞ƒæ
  1052. ∞âîδ¬Ñ∞Ü« ∞Ä│δó«δóª ∞ƒÅδâ¡ ∞âûδâ¡, paintδôé ∞ó¡δú⌐δ╛í δçùδƒü∞ç║ δܺ δ½Æδó«δôé δú₧δ│ÆδùÑ∞âîδôÖ.
  1053. δ╛⌐δçóδ▓¡δôé δú«δéí∞ç╢ ∞ôü∞Ü«δƒæ(Control)δù⌐∞é╗ ∞âîδ┐½∞ƒÅδâ¡ ∞âûδôéδûÑ, Panel, Label,
  1054. Scrollbar δù«∞âî δçùδâìδù⌐∞âîδôÖ. ∞âîδâì∞é╗ Java Code Generatorδóª ∞âîδ┐½∞ƒÅδ╛⌐ ∞âÜδºÖ
  1055. δ╗░δ╗«δ│Æδ╢║δóª δ»╜δ▓║∞ƒÅδú⌐ δôÖ∞é╜δâ║ δé░δôÖ.
  1056.  
  1057. /*
  1058.  * This program was generated by PLASTIC
  1059.  *
  1060.  * Author : Min-Kyu Lee
  1061.  * Title : RGB Color Test
  1062.  * Generated Date : 97-07-22
  1063.  */
  1064.  
  1065. import java.awt.*;
  1066.  
  1067. /**
  1068.  * This examples is "BLUETTE 0.62" Exmaple.
  1069.  * By Hyoung-Gook Kim.
  1070.  */
  1071.  
  1072. public class ColorTest extends Frame {
  1073.         boolean fForm_Create;
  1074.         Panel Panel1;
  1075.         Label Label1;
  1076.         Label Label2;
  1077.         Label Label3;
  1078.         Label RedLabel;
  1079.         Label GreenLabel;
  1080.         Label BlueLabel;
  1081.         Scrollbar ScrollBar1;
  1082.         Scrollbar ScrollBar2;
  1083.         Scrollbar ScrollBar3;
  1084.         ColorTest() {
  1085.                 // Frame Initialization
  1086.                 setForeground(Color.black);
  1087.                 setBackground(Color.lightGray);
  1088.                 setFont(new Font("Dialog",Font.BOLD,12));
  1089.                 setTitle("ColorTest");
  1090.                 setLayout(null);
  1091.  
  1092.                 // Component Initialization
  1093.                 Panel1 = new Panel();
  1094.                 Panel1.setLayout(null);
  1095.                 Panel1.setForeground(Color.black);
  1096.                 Panel1.setBackground(Color.black);
  1097.                 Panel1.setFont(new Font("Dialog",Font.BOLD,12));
  1098.                 Label1 = new Label("Red :",Label.LEFT);
  1099.                 Label1.setFont(new Font("Dialog",Font.BOLD,12));
  1100.                 Label2 = new Label("Green :",Label.LEFT);
  1101.                 Label2.setFont(new Font("Dialog",Font.BOLD,12));
  1102.                 Label3 = new Label("Blue :",Label.LEFT);
  1103.                 Label3.setFont(new Font("Dialog",Font.BOLD,12));
  1104.                 RedLabel = new Label("0",Label.LEFT);
  1105.                 RedLabel.setFont(new Font("Dialog",Font.BOLD,12));
  1106.                 GreenLabel = new Label("0",Label.LEFT);
  1107.                 GreenLabel.setFont(new Font("Dialog",Font.BOLD,12));
  1108.                 BlueLabel = new Label("0",Label.LEFT);
  1109.                 BlueLabel.setFont(new Font("Dialog",Font.BOLD,12));
  1110.                 ScrollBar1 = new Scrollbar(Scrollbar.HORIZONTAL);
  1111.                 ScrollBar1.setValues(0,22,0,255);
  1112.                 ScrollBar1.setBackground(Color.lightGray);
  1113.                 ScrollBar2 = new Scrollbar(Scrollbar.HORIZONTAL);
  1114.                 ScrollBar2.setValues(0,22,0,255);
  1115.                 ScrollBar2.setBackground(Color.lightGray);
  1116.                 ScrollBar3 = new Scrollbar(Scrollbar.HORIZONTAL);
  1117.                 ScrollBar3.setValues(0,22,0,255);
  1118.                 ScrollBar3.setBackground(Color.lightGray);
  1119.  
  1120.                 // Add()s
  1121.                 add(ScrollBar3);
  1122.                 add(ScrollBar2);
  1123.                 add(ScrollBar1);
  1124.                 add(BlueLabel);
  1125.                 add(GreenLabel);
  1126.                 add(RedLabel);
  1127.                 add(Label3);
  1128.                 add(Label2);
  1129.                 add(Label1);
  1130.                 add(Panel1);
  1131.  
  1132.                 fForm_Create = true;
  1133.         }
  1134.         void InitialPositionSet() {
  1135.                 reshape(191,107,283,229);
  1136.                 Panel1.reshape(11,29,262,95);
  1137.                 Label1.reshape(26,143,48,16);
  1138.                 Label2.reshape(13,167,64,16);
  1139.                 Label3.reshape(22,192,54,16);
  1140.                 RedLabel.reshape(76,143,55,16);
  1141.                 GreenLabel.reshape(77,168,50,16);
  1142.                 BlueLabel.reshape(77,194,54,16);
  1143.                 ScrollBar1.reshape(142,141,121,16);
  1144.                 ScrollBar2.reshape(142,168,121,16);
  1145.                 ScrollBar3.reshape(142,195,121,16);
  1146.                 fForm_Create = false;
  1147.         }
  1148.         public boolean handleEvent(Event evt) {
  1149.                 // handleEvent()
  1150.                 if (evt.id == Event.WINDOW_DESTROY && evt.target == this)
  1151.                         ColorTest_WindowDestroy(evt.target);
  1152.                 else if (evt.id == Event.SCROLL_ABSOLUTE && evt.target ==
  1153. ScrollBar1)
  1154.                         ScrollBar1_ScrollAbsolute(evt.target,
  1155.                                 ((Scrollbar)(evt.target)).getValue());
  1156.                 else if (evt.id == Event.SCROLL_LINE_DOWN && evt.target ==
  1157. ScrollBar1)
  1158.                         ScrollBar1_ScrollAbsolute(evt.target,
  1159.                                 ((Scrollbar)(evt.target)).getValue());
  1160.                 else if (evt.id == Event.SCROLL_LINE_UP && evt.target ==
  1161. ScrollBar1)
  1162.                         ScrollBar1_ScrollAbsolute(evt.target,
  1163.                                 ((Scrollbar)(evt.target)).getValue());
  1164.                 else if (evt.id == Event.SCROLL_PAGE_DOWN && evt.target ==
  1165. ScrollBar1)
  1166.                         ScrollBar1_ScrollAbsolute(evt.target,
  1167.                                 ((Scrollbar)(evt.target)).getValue());
  1168.                 else if (evt.id == Event.SCROLL_PAGE_UP && evt.target ==
  1169. ScrollBar1)
  1170.                         ScrollBar1_ScrollAbsolute(evt.target,
  1171.                                 ((Scrollbar)(evt.target)).getValue());
  1172.                 else if (evt.id == Event.SCROLL_ABSOLUTE && evt.target ==
  1173. ScrollBar2)
  1174.                         ScrollBar2_ScrollAbsolute(evt.target,
  1175.                                 ((Scrollbar)(evt.target)).getValue());
  1176.                 else if (evt.id == Event.SCROLL_LINE_DOWN && evt.target ==
  1177. ScrollBar2)
  1178.                         ScrollBar2_ScrollAbsolute(evt.target,
  1179.                                 ((Scrollbar)(evt.target)).getValue());
  1180.                 else if (evt.id == Event.SCROLL_LINE_UP && evt.target ==
  1181. ScrollBar2)
  1182.                         ScrollBar2_ScrollAbsolute(evt.target,
  1183.                                 ((Scrollbar)(evt.target)).getValue());
  1184.                 else if (evt.id == Event.SCROLL_PAGE_DOWN && evt.target ==
  1185. ScrollBar2)
  1186.                         ScrollBar2_ScrollAbsolute(evt.target,
  1187.                                 ((Scrollbar)(evt.target)).getValue());
  1188.                 else if (evt.id == Event.SCROLL_PAGE_UP && evt.target ==
  1189. ScrollBar2)
  1190.                         ScrollBar2_ScrollAbsolute(evt.target,
  1191.                                 ((Scrollbar)(evt.target)).getValue());
  1192.                 else if (evt.id == Event.SCROLL_ABSOLUTE && evt.target ==
  1193. ScrollBar3)
  1194.                         ScrollBar3_ScrollAbsolute(evt.target,
  1195.                                 ((Scrollbar)(evt.target)).getValue());
  1196.                 else if (evt.id == Event.SCROLL_LINE_DOWN && evt.target ==
  1197. ScrollBar3)
  1198.                         ScrollBar3_ScrollAbsolute(evt.target,
  1199.                                 ((Scrollbar)(evt.target)).getValue());
  1200.                 else if (evt.id == Event.SCROLL_LINE_UP && evt.target ==
  1201. ScrollBar3)
  1202.                         ScrollBar3_ScrollAbsolute(evt.target,
  1203.                                 ((Scrollbar)(evt.target)).getValue());
  1204.                 else if (evt.id == Event.SCROLL_PAGE_DOWN && evt.target ==
  1205. ScrollBar3)
  1206.                         ScrollBar3_ScrollAbsolute(evt.target,
  1207.                                 ((Scrollbar)(evt.target)).getValue());
  1208.                 else if (evt.id == Event.SCROLL_PAGE_UP && evt.target ==
  1209. ScrollBar3)
  1210.                         ScrollBar3_ScrollAbsolute(evt.target,
  1211.                                 ((Scrollbar)(evt.target)).getValue());
  1212.                 return super.handleEvent(evt);
  1213.         }
  1214.         public void paint(Graphics g) {
  1215.                 if (fForm_Create) InitialPositionSet();
  1216.         }
  1217.         public static void main(String args[]) {
  1218.                 ColorTest ColorTest = new ColorTest();
  1219.                 ColorTest.show();
  1220.         }
  1221.         void ColorTest_WindowDestroy(Object target) {
  1222.                 System.exit(0);
  1223.         }
  1224.         void ScrollBar1_ScrollAbsolute(Object target, int value) {
  1225.                 RedLabel.setText(""+ScrollBar1.getValue());
  1226.                 Panel1.setBackground(new
  1227.                         Color(ScrollBar1.getValue(),
  1228.                                 ScrollBar2.getValue(),
  1229.                                 ScrollBar3.getValue()));
  1230.                 Panel1.repaint();
  1231.         }
  1232.         void ScrollBar2_ScrollAbsolute(Object target, int value) {
  1233.                 GreenLabel.setText(""+ScrollBar2.getValue());
  1234.                 Panel1.setBackground(new
  1235.                         Color(ScrollBar1.getValue(),
  1236.                                 ScrollBar2.getValue(),
  1237.                                 ScrollBar3.getValue()));
  1238.                 Panel1.repaint();
  1239.         }
  1240.         void ScrollBar3_ScrollAbsolute(Object target, int value) {
  1241.                 BlueLabel.setText(""+ScrollBar3.getValue());
  1242.                 Panel1.setBackground(new
  1243.                         Color(ScrollBar1.getValue(),
  1244.                                 ScrollBar2.getValue(),
  1245.                                 ScrollBar3.getValue()));
  1246.                 Panel1.repaint();
  1247.         }
  1248. }
  1249.  
  1250. ∞âîδ»│∞é╕δƒÄ δ»╜δ▓║δùê ∞ôÜδùÑδóª Java Editor∞âç Compile δçóδôë∞é╕δƒÄ ∞ôä∞¢ä∞âÅ∞ƒÅδú⌐
  1251. ColorTest.classδéí δ»╜δ▓║∞âî δùçδôéδûÑ, ∞âîδâì∞é╗ JDK∞âç javaδƒÄ δ╖ç∞ƒá∞ƒÿ δ¬╝ δ│╢ ∞âûδôÖ.
  1252. (δ╛╣, c:\jdk1.1.1\bin\java ColorTest) δçùδâì∞é╗ δ╖ç∞ƒá∞ƒÅδú⌐ δôÖ∞é╜ δçùδó▓δâ║ δé░∞âî
  1253. δ»╡δƒÄδ┐« ∞é⌐δû╡δ┐¼δéí δ╛¡δó«δú⌐δ▓¡ δ╗û∞ƒâδó«∞ôë∞âîδ│ç∞âî δ╖ç∞ƒáδùêδôÖ.
  1254.  
  1255.                                     [pic]
  1256.  
  1257.  
  1258. Appendix
  1259.  
  1260.  
  1261.  n Plastic∞âî ∞åªδâ╕∞ƒÅδôé ∞ƒüδó░∞Ü«δùê Examples.
  1262.  n Plastic∞âî ∞åªδâ╕∞ƒÅδôé ∞ƒüδó░∞Ü«δùê Design Patterns.
  1263.  
  1264.