> For the complete documentation index, see [llms.txt](https://hanfak.gitbook.io/workspace/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://hanfak.gitbook.io/workspace/general-paradigms/programming-types/value-objects.md).

# Value objects

* AKA
  * domain objects
  * anaemic objects
* Just fields, immutable (no setters) never change
  * Equality based on values/properties of object (thus will need to override equals and hashcode) rather than identity
  * No Setters
  * Fields should be immutable as well as object graph
    * Otherwise return copy in getter
* Can hold behaviour
