2.4. Attributes

```plantuml
class User {
    username: str
    password: str
    login() -> None
    logout() -> None
}
```

2.4.1. Instance Variables

```plantuml
class User {
    {field} firstname: str
    {field} lastname: str
}
```

2.4.2. Class Variables

```plantuml
class User {
    {static} AGE_MAX: int
    {static} AGE_MIN: int
}
```

2.4.3. Abstract Properties

```plantuml
class User {
    {abstract} role
    {abstract} group
}
```

2.4.4. Methods

```plantuml
class User {
    {method} login()
    {method} logout()
}
```

2.4.5. Grouping

```plantuml
class User {
    .. Personal Info ..
    firstname: str
    lastname: str
    email: str
    .. Account Info ..
    username: str
    password: str
  ==
  .. Setters ..
  + set_firstname()
  + set_lastname()
  + set_email()
  + set_username()
  + set_password()
  .. Getters ..
  + get_firstname()
  + get_lastname()
  + get_email()
  + get_username()
  + get_password()
  __ Methods __
  + login()
  + logout()
}
```