์๊ฐ
"๋ ๋ฒ ์ธก์ ํ๊ณ ํ ๋ฒ ์๋ฅด์ญ์์ค"๋ผ๋ ๋ง์ ๋ชจ๋๋ค ๋ค์ด ๋ณด์ จ์ ๊ฒ์ ๋๋ค. ํ๋ก๊ทธ๋๋ฐ์ ๋ํ ์ง์ ํ ์กฐ์ธ์ ๋๋ค. ๊ตฌํ์ ์ํํ๋ ๋ฐ ์๊ฐ์ ๋ณด๋ด๊ธฐ ์ ์ ํญ์ ๊ตฌํ์ ๋ํด ์๊ฐํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ๊ตฌํํ๋ ๋์ ์ข ์ข ํด๋์ค๋ฅผ ๋ง๋ค๊ณ ์ํธ ์์ฉ ๋ฐฉ์์ ์๊ฐํด์ผ ํฉ๋๋ค. ๋ชจ๋ ๊ฒ์ ์๊ฐ์ ์ผ๋ก ํํํ๋ฉด ์ข ์ข ๊ฐ์ฅ ์ ํํ ์๋ฃจ์ ์ ์ฐพ๋ ๋ฐ ๋์์ด ๋ ์ ์์ต๋๋ค. ์ด๊ฒ์ UML ํด๋์ค ๋ค์ด์ด๊ทธ๋จ์ด ์ฐ๋ฆฌ์๊ฒ ๋์์ด ๋๋ ๊ณณ์ ๋๋ค.UML์ด๋ ๋ฌด์์ ๋๊น?
๊ฒ์ ์์ง์์ ๊ด๋ จ ์ด๋ฏธ์ง๋ฅผ ๋ณด๋ฉด UML์ด ๋ค์ด์ด๊ทธ๋จ, ํ์ดํ ๋ฐ ์ฌ๊ฐํ๊ณผ ๊ด๋ จ์ด ์์์ ์ ์ ์์ต๋๋ค. UML์ Unified Modeling Language์ ์ฝ์์์ ์์์ผ ํฉ๋๋ค. ํตํฉ์ ์ฌ๊ธฐ์ ์ค์ํ ๋จ์ด์ ๋๋ค. ์ด๊ฒ์ ์ฐ๋ฆฌ์ ์ด๋ฏธ์ง๊ฐ ์ฐ๋ฆฌ๋ฟ๋ง ์๋๋ผ UML์ ์๋ ๋ค๋ฅธ ์ฌ๋๋ ์ดํดํ ์ ์์์ ์๋ฏธํฉ๋๋ค. ๋ค์ด์ด๊ทธ๋จ์ ๊ทธ๋ฆฌ๊ธฐ ์ํ ๊ณตํต์ด์ ๋๋ค.์ํคํผ๋์์ ๋ฐ๋ฅด๋ฉด,
"UML์ ์์คํ ์ค๊ณ๋ฅผ ์๊ฐํํ๋ ํ์ค ๋ฐฉ๋ฒ์ ์ ๊ณตํ๊ธฐ ์ํ ์ํํธ์จ์ด ์์ง๋์ด๋ง ๋ถ์ผ์ ๋ฒ์ฉ ๊ฐ๋ฐ ๋ชจ๋ธ๋ง ์ธ์ด์ ๋๋ค."๋ชจ๋ ์ฌ๋์ด ์ถ์ธกํ์ง๋ ์์ง๋ง ๊ฐ์ฅ ํฅ๋ฏธ๋ก์ด ์ ์ UML์ ์ฌ์์ด ์๋ค๋ ๊ฒ์ ๋๋ค. UML 2 ์ฌ์๋ ์์ต๋๋ค. ์ฌ์์ ๋ํ ์์ธํ ๋ด์ฉ์ Object Management Group ์น์ฌ์ดํธ์์ ํ์ธํ ์ ์์ต๋๋ค. ์ค์ ๋ก ์ด ๊ทธ๋ฃน์ UML ์ฌ์์ ๊ฐ๋ฐํฉ๋๋ค. UML์ด ํด๋์ค ๊ตฌ์กฐ๋ฅผ ์ค๋ช ํ๋ ๋ฐ๋ง ๊ตญํ๋์ง ์๋๋ค๋ ์ ๋ ํฅ๋ฏธ๋กญ์ต๋๋ค. UML ๋ค์ด์ด๊ทธ๋จ์๋ ์ฌ๋ฌ ์ ํ์ด ์์ต๋๋ค. Wikipedia์๋ โโ๋ค์ํ ์ ํ์ UML ๋ค์ด์ด๊ทธ๋จ์ ๋ํ ๊ฐ๋ตํ ์ค๋ช ์ด ์์ต๋๋ค. UML ๋ค์ด์ด๊ทธ๋จ . UML ํด๋์ค ๋ค์ด์ด๊ทธ๋จ์ผ๋ก ๋์๊ฐ์ "Head First Design Patterns"๋ผ๋ ์ฑ ์ ์ธ๊ธํ ๊ฐ์น๊ฐ ์์ต๋๋ค . UML ๋ค์ด์ด๊ทธ๋จ์ ์ฌ์ฉํ์ฌ ๋์์ธ ํจํด์ ์ค๋ช ํฉ๋๋ค. ๊ฒฐ๋ก ์ UML์ด ์ค์ ๋ก ์ฌ์ฉ๋๋ค๋ ๊ฒ์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ทธ๊ฒ์ ์๊ณ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ์ดํดํ๋ ๊ฒ์ด ๋งค์ฐ ์ ์ฉํ๋ค๋ ๊ฒ์ด ๋ฐํ์ก์ต๋๋ค.
์ ํ๋ฆฌ์ผ์ด์
IDE์์ UML๋ก ์์ ํ ์ ์๋์ง ์์๋ด ์๋ค. IntelliJ IDEA๋ฅผ IDE๋ก ์ฌ์ฉํ๊ฒ ์ต๋๋ค. IntelliJ IDEA Ultimate๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ "UML ์ง์" ํ๋ฌ๊ทธ์ธ์ด "์ฆ์" ์ค์น๋ฉ๋๋ค. ์๋ฆ๋ค์ด ํด๋์ค ๋ค์ด์ด๊ทธ๋จ์ ์๋์ผ๋ก ์์ฑํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด Ctrl+N ๋๋ "ํ์" -> "ํด๋์ค" ๋ฉ๋ด ํญ๋ชฉ์ ์ฌ์ฉํ์ฌ ArrayList ํด๋์ค๋ก ์ด๋ํฉ๋๋ค. ์ด์ ํด๋์ค ์ด๋ฆ์ ์ปจํ ์คํธ ๋ฉ๋ด์์ "๋ค์ด์ด๊ทธ๋จ" -> "๋ค์ด์ด๊ทธ๋จ ํ์ ํ์"๋ฅผ ์ ํํฉ๋๋ค. ๊ฒฐ๊ณผ์ ์ผ๋ก ์๋ฆ๋ค์ด ๋ค์ด์ด๊ทธ๋จ์ ์ป์ต๋๋ค. ํ์ง๋ง ์ง์ ๋ค์ด์ด๊ทธ๋จ์ ๊ทธ๋ฆฌ๊ณ ์ถ๋ค๋ฉด ์ด๋ป๊ฒ ํด์ผ ํ ๊น์? Ultimate ๋ฒ์ ์ด ์์ผ๋ฉด ์ด๋ป๊ฒ ๋ฉ๋๊น? IntelliJ IDEA Community Edition์ ์ฌ์ฉํ๋ฉด ๋ค๋ฅธ ์ ํ์ ์ฌ์ง๊ฐ ์์ต๋๋ค. ๋ฐ๋ผ์ UML ๋ค์ด์ด๊ทธ๋จ์ด ๊ตฌ์ฑ๋๋ ๋ฐฉ์์ ์ดํดํด์ผ ํฉ๋๋ค. ์ฒซ ๋ฒ์งธ,. ๊ทธ๋ํ ์๊ฐํ ๋๊ตฌ ์ธํธ์ ๋๋ค. ์ฐ๋ฆฌ๊ฐ ์ฌ์ฉํ ํ๋ฌ๊ทธ์ธ์ ๊ทธ๊ฒ์ ๋ฐ๋ผ ๋ค๋ฆ ๋๋ค. ์ค์น ํ Graphviz ์ค์น ๋๋ ํฐ๋ฆฌ์ bin ๋๋ ํฐ๋ฆฌ๋ฅผ PATH ํ๊ฒฝ ๋ณ์์ ์ถ๊ฐํด์ผ ํฉ๋๋ค. ๊ทธ๋ฐ ๋ค์ IntelliJ IDEA์์ ๋ฉ๋ด์ File -> Settings๋ฅผ ์ ํํฉ๋๋ค. "์ค์ " ์ฐฝ์์ "ํ๋ฌ๊ทธ์ธ" ๋ฒ์ฃผ๋ฅผ ์ ํํ๊ณ "๋ฆฌํฌ์งํ ๋ฆฌ ์ฐพ์๋ณด๊ธฐ" ๋ฒํผ์ ํด๋ฆญํ ๋ค์ PlantUML ํตํฉ ํ๋ฌ๊ทธ์ธ์ ์ค์นํฉ๋๋ค. PlantUML์ ์ฅ์ ์ ๋ฌด์์ ๋๊น? ์ด๊ฒ์ "dot"๋ผ๋ ๊ทธ๋ํ ์ค๋ช ์ธ์ด๋ฅผ ์ฌ์ฉํ์ฌ UML์ ์ค๋ช ํฉ๋๋ค. ์ด๋ ๋ํธ ์ธ์ด๊ฐ PlantUML ์ด์์์ ์ฌ์ฉ๋๊ธฐ ๋๋ฌธ์ ๋ ๋ณดํธ์ ์ ๋๋ค. ๋ํ ์๋์์ ์ํํ๋ ๋ชจ๋ ์์ ์ IDE๋ฟ๋ง ์๋๋ผ planttext.com ์์๋ ์จ๋ผ์ธ์ผ๋ก ์ํํ ์ ์์ต๋๋ค.. PlantUML ํ๋ฌ๊ทธ์ธ์ ์ค์นํ ํ "ํ์ผ" -> "์๋ก ๋ง๋ค๊ธฐ"๋ฅผ ์ฌ์ฉํ์ฌ UML ๋ค์ด์ด๊ทธ๋จ์ ๋ง๋ค ์ ์์ต๋๋ค. "UML ํด๋์ค" ๋ค์ด์ด๊ทธ๋จ์ ๋ง๋ค์ด ๋ด ์๋ค. ์ด๋ ๊ฒ ํ๋ฉด ์์ ๊ฐ ํฌํจ๋ ํ ํ๋ฆฟ์ด ์๋์ผ๋ก ์์ฑ๋ฉ๋๋ค. ๋ด์ฉ์ ์ญ์ ํ๊ณ ์ง์ ์ถ๊ฐํ๊ฒ ์ต๋๋ค. ์ด๋ฅผ ํ ์คํธ๋ก ํํํ๋ ๋ฐฉ๋ฒ์ ์ดํดํ๋ ค๋ฉด PlantUML ๋งค๋ด์ผ(plantuml class-diagram)์ ์ดํด๋ณด์ญ์์ค. ์ด๋ฌํ ์๋ฃ์ ์์กดํ์ฌ UML ๋ค์ด์ด๊ทธ๋จ ์์ฑ์ ์์ํ๊ฒ ์ต๋๋ค. ๋ ํด๋์ค๋ฅผ ์ค๋ช ํ๋ ๋ค์ ์ฝํ ์ธ ๋ฅผ ์ถ๊ฐํฉ๋๋ค.@startuml
class ArrayList {
}
class LinkedList {
}
@enduml
IDEA์์ ๊ฒฐ๊ณผ๋ฅผ ๋ณด๋ ค๋ฉด "๋ณด๊ธฐ" -> "๋๊ตฌ ์ฐฝ" -> "PlantUML"์ ์ ํํ์ญ์์ค. ํด๋์ค๋ฅผ ๋ํ๋ด๋ ๋ ๊ฐ์ ์ฌ๊ฐํ๋ง ์ป์ต๋๋ค. ์ฐ๋ฆฌ๋ ์ด ๋ ํด๋์ค ๋ชจ๋ List ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ๋ค๋ ๊ฒ์ ์๊ณ ์์ต๋๋ค. ์ด ํด๋์ค ๊ด๊ณ๋ฅผ ์คํ์ด๋ผ๊ณ ํฉ๋๋ค. ์ด ๊ด๊ณ๋ ์ ์ ์ด ์๋ ํ์ดํ๋ฅผ ์ฌ์ฉํ์ฌ ํ์๋ฉ๋๋ค. ๊ทธ๋ ค๋ด
์๋ค:
interface List
List <|.. ArrayList
List <|.. LinkedList
List๋ Collection ํด๋์ค์ ์์ ์ค ํ๋์
๋๋ค . ์ฆ, Collection ์ ์์ํฉ๋๋ค . ์ด ๊ด๊ณ๋ฅผ ์ผ๋ฐํ๋ผ๊ณ ํฉ๋๋ค. ์ผ๋ฐ์ ์ธ ์ฐ์ ์ ์ด ์๋ ํ์ดํ์ฒ๋ผ ๋ณด์
๋๋ค. ๊ทธ๋ ค๋ด
์๋ค:
interface Collection
Collection <|-- List
๋ค์ ์ ํ์ ๊ด๊ณ๋ฅผ ์ํด ArrayList ํด๋์ค ์ค๋ช
์ ์์์ ํจํค์ง ๊ฐ์ธ ๋ฐฐ์ด ์ ๋ํ ํญ๋ชฉ์ ์ถ๊ฐํฉ๋๋ค .
~Object[] elementData
์ด์ ArrayList์ ์ผ๋ถ ๊ฐ์ฒด๊ฐ ํฌํจ๋์ด ์์ ์ ๋ณด์ฌ์ฃผ๊ณ ์ถ์ต๋๋ค . ์ด ๊ฒฝ์ฐ ์ง๊ณ ๊ด๊ณ๊ฐ ์์ต๋๋ค. ๋ฐฐ์ด๋ชฉ๋ก๋ค๋ฅธ ๊ฐ์ฒด๋ฅผ ํฌํจํ๋ฏ๋ก ์ง๊ณ์
๋๋ค. ๋ชฉ๋ก์ ๊ฐ์ฒด๋ ๋ชฉ๋ก ์์ด ์กด์ฌํ ์ ์๊ธฐ ๋๋ฌธ์ ์ง๊ณ๋ผ๊ณ ํฉ๋๋ค. ๊ฐ์ฒด๋ ๋ชฉ๋ก์ ํ์ ๋ถ๋ถ์ด ์๋๋๋ค. ๊ทธ๋ค์ ์๋ช
์ ๋ชฉ๋ก์ ์๋ช
๊ณผ ์ฐ๊ฒฐ๋์ด ์์ง ์์ต๋๋ค. "์งํฉ"์ด๋ผ๋ ๋จ์ด๋ ๋ผํด์ด์์ ์์ผ๋ฉฐ "์กฐ๋ฆฝ๋", ์ฆ ๋ฌด์ธ๊ฐ๋ก ๊ตฌ์ฑ๋ ๊ฒ์ผ๋ก ๋ฒ์ญ๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด, ์ํ์๋ ํํ์ ๋ชจํฐ๋ก ๊ตฌ์ฑ๋ ํํ ์ด์
๋ธ๋ฆฌ(์งํฉ์ฒด)๊ฐ ์์ต๋๋ค. ์ด์
๋ธ๋ฆฌ ์์ฒด๋ ๋ถํดํ ์ ์์ผ๋ฉฐ ์ผ๋ถ ๊ตฌ์ฑ ์์๋ ๊ทธ๋๋ก ๋ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, ํ๋งคํ๊ฑฐ๋ ๋ค๋ฅธ ์ด์
๋ธ๋ฆฌ์ ๋ฃ์ต๋๋ค. ๋ฆฌ์คํธ์์๋ ๋ง์ฐฌ๊ฐ์ง์
๋๋ค. ์ด๊ฒ์ ์ง๊ณ์์ ๋น ๋ง๋ฆ๋ชจ์ ์ฐ์ ์ ์ผ๋ก ํํ๋ฉ๋๋ค. ์ด๋ฅผ ๋ค์๊ณผ ๊ฐ์ด ํํํ๊ฒ ์ต๋๋ค.
class Object{
}
ArrayList o- Object
์ด์ ์ฐ๋ฆฌ๋ ArrayList ์ ๋ฌ๋ฆฌ LinkedList ํด๋์ค๊ฐ ์ ์ฅ๋ ๋ฐ์ดํฐ๋ฅผ ์ฐธ์กฐํ๋ ์ปจํ
์ด๋์ธ Node ๋ฅผ ํฌํจํ๊ณ ์์ ์ ๋ณด์ฌ์ฃผ๊ณ ์ถ์ต๋๋ค . ์ด ๊ฒฝ์ฐ Node ๋ LinkedList ์ ์ผ๋ถ ์ด๋ฉฐ ๋
๋ฆฝ์ ์ผ๋ก ์กด์ฌํ์ง ์์ต๋๋ค. ๋
ธ๋ ๋ ์ฝํ
์ธ ์์ฒด๊ฐ ์๋๋๋ค. ์ฝํ
์ธ ์ ๋ํ ์ฐธ์กฐ๋ง ํฌํจํฉ๋๋ค. ์๋ฅผ ๋ค์ด LinkedList ์ ๋ฌธ์์ด์ ์ถ๊ฐํ ๋ ๋ฌธ์์ด์ ๋ํ ์ฐธ์กฐ์ ์ด์ ๋ฐ ๋ค์ ๋
ธ๋ ์ ๋ํ ๋งํฌ๋ฅผ ํฌํจํ๋ ์ ๋
ธ๋๋ฅผ ์ถ๊ฐํฉ๋๋ค.. ์ด ๊ด๊ณ๋ฅผ ๊ตฌ์ฑ์ด๋ผ๊ณ ํฉ๋๋ค. ์ปดํฌ์งํธ(๊ตฌ์ฑ ๋ถํ์ผ๋ก ์ด๋ฃจ์ด์ง ๊ฒ)์ ์ฑ์์ง ๋ง๋ฆ๋ชจ๊ผด๋ก ์ฐ์์ ์ ๊ทธ๋ ค์ ๋ฌ์ฌํฉ๋๋ค. ์ด์ ๊ด๊ณ๋ฅผ ํ
์คํธ๋ก ํํํ๊ฒ ์ต๋๋ค.
class Node{
}
LinkedList *-- Node
์ด์ ๋ ๋ค๋ฅธ ์ค์ํ ์ ํ์ ๊ด๊ณ์ธ ์ข
์์ฑ์ ๋ฌ์ฌํ๋ ๋ฐฉ๋ฒ์ ๋ฐฐ์์ผ ํฉ๋๋ค. ํ ํด๋์ค๊ฐ ๋ค๋ฅธ ํด๋์ค๋ฅผ ์ฌ์ฉํ์ง๋ง ํด๋น ํด๋์ค๊ฐ ์ฌ์ฉ๋ ํด๋์ค๋ฅผ ํฌํจํ๊ฑฐ๋ ์์ํ์ง ์์ ๋ ์ฌ์ฉ๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด LinkedList ์ ArrayList๋ ListIterator๋ฅผ ์์ฑํ๋ ๋ฐฉ๋ฒ์ ์๊ณ ์์ต๋๋ค . ์ด๊ฒ์ ์ ์ ์ด ์๋ ํ์ดํ๋ก ๋ํ๋
๋๋ค.
class ListIterator
ListIterator <... ArrayList : create
ListIterator <... LinkedList : create
์ด ๋ชจ๋ ์์
์ ์ํํ ํ ๋ค์์ ์ป์ต๋๋ค. ํ์ํ ๋งํผ ์ธ๋ถ ์ ๋ณด๋ฅผ ์ถ๊ฐํ ์ ์์ต๋๋ค. ๋ฌผ๋ก ๊ทธ๋ฌํ ๋ค์ด์ด๊ทธ๋จ์ ๊ทธ๋ฆฌ๋ ๊ฒ์ด ์ด์์ฐ์ ์ธ ๊ฒ์ ์๋๋๋ค. ์์ ์ ์์
์ ํ ๋ ์์ผ๋ก ๋น ๋ฅด๊ฒ ๊ทธ๋ฆด ์ ์์ต๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ์๋ชป๋ ๋ชจ๋ธ์ ๊ตฌํํ๋ ๋ฐ ์ด๋ฏธ ํ๋ฃจ๋ฅผ ๋ณด๋ธ ํ๊ฐ ์๋๋ผ ์ด๊ธฐ์ ์ ํ๋ฆฌ์ผ์ด์
์ ์ํคํ
์ฒ๋ฅผ ํตํด ์๊ฐํ๊ณ ํด๋์ค ๊ตฌ์กฐ์ ๋จ์ ์ ์๋ณํ๋ ๋ฅ๋ ฅ์ ๊ฐ๋ฐํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค. ์๋ํด ๋ณผ ๋งํ ์ข์ ์ด์ ์ธ ๊ฒ ๊ฐ์ต๋๋ค. ๊ทธ๋ ์ง ์๋์? :)
์คํ ๋ฉ์ด์
PlantUML ๋ค์ด์ด๊ทธ๋จ์ ์๋์ผ๋ก ์์ฑํ๋ ๋ค์ํ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค. ์๋ฅผ ๋ค์ด IDEA์๋ SketchIT ํ๋ฌ๊ทธ์ธ์ด ์์ง๋ง ๋ค์ด์ด๊ทธ๋จ์ ์์ ํ ์ฌ๋ฐ๋ฅด๊ฒ ๊ทธ๋ฆฌ์ง๋ ์์ต๋๋ค. ์ธํฐํ์ด์ค ๊ตฌํ์ด ์๋ชป ๊ทธ๋ ค์ก๋ค๊ณ ๊ฐ์ ํด ๋ณด๊ฒ ์ต๋๋ค(์์์ผ๋ก ํ์๋จ). ์ธํฐ๋ท์๋ ์ด๊ฒ์ ํ๋ก์ ํธ์ ๋น๋ ํ๋ก์ธ์ค์ ํตํฉํ๋ ๋ฐฉ๋ฒ์ ๋ํ ์๊ฐ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด Maven์์ uml-java-docklet์ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ์ฐพ์ ์ ์์ต๋๋ค . ์์ฐ์ ์ํด Maven Archetype์ ์ฌ์ฉํ์ฌ Maven ํ๋ก์ ํธ๋ฅผ ๋น ๋ฅด๊ฒ ์์ฑํฉ๋๋ค. ๋ฌ๋ฆฌ๋คmvn archetype:generate
๋ฒํธ ์ ํ ๋๋ ํํฐ ์ ์ฉ์ ๋ํ ์๋ต์ผ๋ก ๊ธฐ๋ณธ๊ฐ์ ๊ทธ๋๋ก ๋๊ณ Enter ํค๋ฅผ ๋๋ฅด๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค. ํญ์ "maven-archetype-quickstart"์
๋๋ค. ์ต์ ๋ฒ์ ์ ์ ํํ์ญ์์ค. ๋ค์์ผ๋ก ๋ช ๊ฐ์ง ์ง๋ฌธ์ ๋ตํ๊ณ ํ๋ก์ ํธ ์์ฑ์ ์๋ฃํ๊ฒ ์ต๋๋ค. Maven์ ์ด ๋ฌธ์์ ์ฃผ์ ๊ฐ ์๋๋ฏ๋ก Maven ์ฌ์ฉ์ ์ผํฐ ์์ Maven์ ๋ํ ์ง๋ฌธ์ ๋ํ ๋ต๋ณ์ ์ฐพ์ ์ ์์ต๋๋ค . ์์ฑ๋ ํ๋ก์ ํธ์์ ํธ์ง์ ์ํด ํ๋ก์ ํธ ์ค๋ช
ํ์ผ์ธ pom.xml์ ์ฝ๋๋ค. uml-java-docklet ์ค์น ์ค๋ช
์ ๋ด์ฉ์ ์ด ํ์ผ์ ๋ณต์ฌํฉ๋๋ค . ์ค๋ช
์ ์ฌ์ฉ๋ ์ํฐํฉํธ๋ Maven Central ๋ฆฌํฌ์งํ ๋ฆฌ์์ ์ฐพ์ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ๋ค์์ ์ ์๊ฒ ํจ๊ณผ์ ์ด์์ต๋๋ค. https://mvnrepository.com/artifact/com.chfourie/uml-java-doclet/1.0.0. ์ฆ, ์ค๋ช
์์ groupId๋ฅผ "info.leadinglight"์์ "com.chfourie"๋ก ๋ฐ๊พธ๊ณ ๋ฒ์ ์ "1.0.0"์ผ๋ก ์ค์ ํ๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค. ๊ทธ๋ฐ ๋ค์ pom.xml ํ์ผ์ด ์๋ ๋๋ ํฐ๋ฆฌ์์ ๋ค์ ๋ช
๋ น์ ์คํํ ์ ์์ต๋๋ค.
mvn clean install
๊ทธ๋ฆฌ๊ณ
mvn javadoc: javadoc
์ด์ ์์ฑ๋ ๋ฌธ์(explorer target\site\apidocs\index.html)๋ฅผ ์ด๋ฉด UML ๋ค์ด์ด๊ทธ๋จ์ด ํ์๋ฉ๋๋ค. ๊ทธ๋ฐ๋ฐ ์ด์ ๊ตฌํ ๊ด๊ณ๊ฐ ์ฌ๋ฐ๋ฅด๊ฒ ํ์๋ฉ๋๋ค. :)