クラス図とは、システムを構成するクラスとそれらの関係を表現する図で、各クラスが保持する属性(プロパティ)や操作(メソッド)も記載することができる。システム全体の静的な構造を明らかにするために作成される。
今回は、PlantUMLで、getter/setterメソッドをもつクラスのクラス図を作成してみたので、作成したクラス図と元になるPlantUMLのソースコードを共有する。
なお、クラス図については、以下のサイトを参照のこと。
http://www.itsenka.com/contents/development/uml/class.html
また、PlantUMLのクラス図についてのマニュアルは、以下のサイトを参照のこと。
https://plantuml.com/ja/class-diagram
前提条件
下記記事の、VSCode上でPlantUMLを利用するための環境構築が完了していること。
PlantUMLをVSCode上で利用してみたPlantUMLは、VSCode(Visual Studio Code)上で編集するようにすると、ソースコードを色つきで分かりやすく表示...
クラス図作成対象のソースコード
今回の、クラス図作成対象となるソースコードの内容は、以下の通り。
package com.example.demo;
import lombok.Data;
@Data
public class UserData {
/** ID */
private long id;
/** 名前 */
private String name;
/** 生年月日_年 */
private int birthY;
/** 生年月日_月 */
private int birthM;
/** 生年月日_日 */
private int birthD;
/** 性別 */
private String sex;
/** メモ */
private String memo;
/** 性別(文字列) */
private String sex_value;
}
作成したクラス図(1)
また、上記クラス図のPlantUMLソースコードの内容は、以下の通り。
@startuml
class UserData {
- long id
- String name
- int birthY
- int birthM
- int birthD
- String sex
- String memo
- String sex_value
+ getId(): long
+ setId(id:long): void
+ getName(): String
+ setName(name:String): void
+ getBirthY(): int
+ setBirthY(birthY:int): void
+ getBirthM(): int
+ setBirthM(birthM:int): void
+ getBirthD(): int
+ setBirthD(birthD:int): void
+ getSex(): String
+ setSex(sex:String): void
+ getMemo(): String
+ setMemo(memo:String): void
+ getSex_value(): String
+ setSex_value(sex_value:String): void
+ toString(): String
}
@enduml フリーランスエンジニアのエージェントは就業中でも無料で登録できるITエンジニアには、フリーランスという働き方がある。 フリーランスとは、会社や団体などに所属せず、仕事に応じて自由に契約する人のこ...
作成したクラス図(2)
getter/setterメソッドには、«get/set»という独自のステレオタイプを使うこともできる。このステレオタイプを利用した場合のクラス図の内容は、以下の通り。

また、上記クラス図のPlantUMLソースコードの内容は、以下の通り。
@startuml
class UserData {
- «get/set» long id
- «get/set» String name
- «get/set» int birthY
- «get/set» int birthM
- «get/set» int birthD
- «get/set» String sex
- «get/set» String memo
- «get/set» String sex_value
+ toString(): String
}
@enduml要点まとめ
- クラス図とは、システムを構成するクラスとそれらの関係を表現する図で、各クラスが保持する属性(プロパティ)や操作(メソッド)も記載することができる。
- PlantUMLを利用すれば、コードベースでクラス図を作成できる。
- getter/setterメソッドは、«get/set»という独自のステレオタイプを利用すると、クラス図のメソッドの記述を省略できる。






