PlantUML 클래스 다이어그램 조견표
목차
필드, 메소드 표현
수업 간의 관계
관계 라벨
1. 필드, 메소드 표현
1. 가시성 정의
가시성은 다음과 같이 표현됩니다.- : private
# : protected
~ : package private
+ : public
@startuml
class ClassA {
-fieldA : int
#fieldB : String
~methodA() : void
+methodB() : String
}
@enduml
각 가시성은 기호로 표현됩니다.
명령skinparam classAttributeIconSize 0
에서 가시성 기호화를 해제할 수 있습니다.
업무로 사용하는 경우, 기호로는 전해지지 않는 경우가 있으므로 오프로 해 두는 것이 좋을지도 모릅니다.
@startuml
skinparam classAttributeIconSize 0
class ClassA {
-fieldA : int
#fieldB : String
~methodA() : void
+methodB() : String
}
@enduml
2. Static, Abstract
정적, 추상적 표현은 {static}
, {abstract}
한정자를 사용합니다.
@startuml
class ClassA {
{static} +fieldA : String
{abstract} +methodA() : void
}
@enduml
3. 빈 필드, 메서드 생략
명령 hide empty members
빈 필드 메서드를 생략할 수 있습니다.
그림의 크기를 생략 할 수 있기 때문에 마음에 듭니다.
※이후 이 커맨드를 사용합니다.
@startuml
hide empty members
class ClassA {
}
class ClassB {
field
}
class ClassC {
method()
}
class ClassD {
field
method()
}
@enduml
2. 클래스 간의 관계
1. 상속 Extension
UML에서는 일반화, Generalization으로 표현되지만, 익숙한 상속으로 표현하고 있습니다.
@startuml
hide empty members
abstract class AbstractClassA {
}
class ClassA {
}
AbstractClassA <|-- ClassA
@enduml
2. 구현 Implements
UML에서는 실현, Realization이라고 표현되지만, 익숙한 구현으로 표현하고 있습니다.
@startuml
hide empty members
Interface InterfaceA {
}
class ClassA {
}
InterfaceA <|.. ClassA
@enduml
3. 집계 Aggregation
아이가 부모로부터 독립적으로 존재할 수 있는 관계를 나타냅니다.
@startuml
hide empty members
Class House {
}
class Persion {
}
House o-- Persion
@enduml
4. 구성 Composition
아이가 부모로부터 독립적으로 존재할 수 없는 관계를 나타냅니다. 일반적으로 강한 집계로 표현됩니다.
@startuml
hide empty members
Class Persion {
}
class Head {
}
Persion *-- Head
@enduml
5. 의존 Dependency
하나가 다른 하나를 사용하거나 의존하는 관계를 사용 관계 또는 종속성이라고합니다.
@startuml
hide empty members
Class GasStation {
}
class Car {
}
GasStation <.. Car
@enduml
6. 내부 클래스 Inner Class
내부 클래스는 다음과 같이 나타냅니다.
@startuml
hide empty members
Class OuterClass {
}
class InnerClass {
}
OuterClass +-- InnerClass
@enduml
3. 관계 라벨
1. 라벨, 화살표 추가
클래스 간 관계에 : text
를 추가하여 레이블을 추가할 수 있습니다.: text >
다음 화살표를 붙일 수 있습니다.
@startuml
hide empty members
Class ClassA {
}
class ClassB {
}
class ClassC {
}
ClassA -- ClassB : text
ClassB -- ClassC : text >
@enduml
2. 다중도
다중도는 관계의 양단에 ""로 기재합니다.
@startuml
hide empty members
Class ClassA {
}
class ClassB {
}
ClassA "1..*" -- "*" ClassB
@enduml
4. 패키지
@startuml
hide empty members
package PackageA {
Class ClassA {
}
package PackageB {
Class ClassB {
}
}
}
@enduml
참고문헌
이 기사는 다음 정보를 참고했습니다.
@startuml
class ClassA {
-fieldA : int
#fieldB : String
~methodA() : void
+methodB() : String
}
@enduml
@startuml
skinparam classAttributeIconSize 0
class ClassA {
-fieldA : int
#fieldB : String
~methodA() : void
+methodB() : String
}
@enduml
@startuml
class ClassA {
{static} +fieldA : String
{abstract} +methodA() : void
}
@enduml
@startuml
hide empty members
class ClassA {
}
class ClassB {
field
}
class ClassC {
method()
}
class ClassD {
field
method()
}
@enduml
1. 상속 Extension
UML에서는 일반화, Generalization으로 표현되지만, 익숙한 상속으로 표현하고 있습니다.
@startuml
hide empty members
abstract class AbstractClassA {
}
class ClassA {
}
AbstractClassA <|-- ClassA
@enduml
2. 구현 Implements
UML에서는 실현, Realization이라고 표현되지만, 익숙한 구현으로 표현하고 있습니다.
@startuml
hide empty members
Interface InterfaceA {
}
class ClassA {
}
InterfaceA <|.. ClassA
@enduml
3. 집계 Aggregation
아이가 부모로부터 독립적으로 존재할 수 있는 관계를 나타냅니다.
@startuml
hide empty members
Class House {
}
class Persion {
}
House o-- Persion
@enduml
4. 구성 Composition
아이가 부모로부터 독립적으로 존재할 수 없는 관계를 나타냅니다. 일반적으로 강한 집계로 표현됩니다.
@startuml
hide empty members
Class Persion {
}
class Head {
}
Persion *-- Head
@enduml
5. 의존 Dependency
하나가 다른 하나를 사용하거나 의존하는 관계를 사용 관계 또는 종속성이라고합니다.
@startuml
hide empty members
Class GasStation {
}
class Car {
}
GasStation <.. Car
@enduml
6. 내부 클래스 Inner Class
내부 클래스는 다음과 같이 나타냅니다.
@startuml
hide empty members
Class OuterClass {
}
class InnerClass {
}
OuterClass +-- InnerClass
@enduml
3. 관계 라벨
1. 라벨, 화살표 추가
클래스 간 관계에 : text
를 추가하여 레이블을 추가할 수 있습니다.: text >
다음 화살표를 붙일 수 있습니다.
@startuml
hide empty members
Class ClassA {
}
class ClassB {
}
class ClassC {
}
ClassA -- ClassB : text
ClassB -- ClassC : text >
@enduml
2. 다중도
다중도는 관계의 양단에 ""로 기재합니다.
@startuml
hide empty members
Class ClassA {
}
class ClassB {
}
ClassA "1..*" -- "*" ClassB
@enduml
4. 패키지
@startuml
hide empty members
package PackageA {
Class ClassA {
}
package PackageB {
Class ClassB {
}
}
}
@enduml
참고문헌
이 기사는 다음 정보를 참고했습니다.
@startuml
hide empty members
Class ClassA {
}
class ClassB {
}
class ClassC {
}
ClassA -- ClassB : text
ClassB -- ClassC : text >
@enduml
@startuml
hide empty members
Class ClassA {
}
class ClassB {
}
ClassA "1..*" -- "*" ClassB
@enduml
@startuml
hide empty members
package PackageA {
Class ClassA {
}
package PackageB {
Class ClassB {
}
}
}
@enduml
참고문헌
이 기사는 다음 정보를 참고했습니다.
Reference
이 문제에 관하여(PlantUML 클래스 다이어그램 조견표), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/kyonc5/items/4d536cb59fd7c41debc1텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)