클래스정의
classDiagram direction LR note for `라벨 사용 클래스, !#@ 특문사용가능` "노트\n하이\n그룹안에 못들어가" note "노트\n그룹안에 못들어가" namespace 클래스그룹 { class `라벨 사용 클래스, !#@ 특문사용가능` class 클래스선언{ Default타입 Default변수명 +Public타입 Public변수명 -Private타입 Private변수명 #Protected타입 Protected변수명 ~Package타입 Package변수명 List~string~ 제네릭변수명 String 스태틱변수$ 함수() 함수2(매개변수1 변수) 함수3(매개변수2 변수) 반환타입 제네릭함수(List~List~String~~ map) 제네릭함수(List~Map~String:String~~ map) 스태틱함수1()$ 스태틱함수2() String$ 추상함수1()* 추상함수2() String* } }
어노테이션 사용으로 다양한 클래스 정의
classDiagram direction LR class 인터페이스{ <<Interface>> } class 추상클래스{ <<Abstract>> } class 서비스{ <<Service>> } class Enum{ <<Enumeration>> } class 기타{ <<어노테이션>> }
관계정의
classDiagram direction LR classA <|-- classB : 상속\nB가 A에게 상속(extend)받는다\n--|> classC <|.. classD : 구현\nD가 C를 구현(implement)한다\n..|> classE <.. classF : 의존관계\nF는 E에 의존(Dependency)한다.\n..> classG "many" <-- "1" classH : H는 G를 필드로 가진다\n--> classI "1" -- "*" classJ : I는 J를, J는 I를 필드로 가진다\n--
뭔지모름
classDiagram classA *-- classB : 합성\n--* classC o-- classD : 집합\n--o classO .. classP : 링크(점선)\n..