---
title: "Classe de Dados"
type: "code-smell"
slug: "data-class"
url: "http://localhost:3000/pt-br/smells/data-class.md"
category: "Dispensables"
description: "Uma classe de dados se refere a uma classe que contém apenas campos e métodos rudimentares para acessá-los (getters e setters). Elas são simplesmente contêineres de dados usados por outras classes. Essas classes não contêm nenhuma funcionalidade adicional e não conseguem operar de forma independente sobre os dados que possuem."
---
# Classe de Dados

> Uma classe de dados se refere a uma classe que contém apenas campos e métodos rudimentares para acessá-los (getters e setters). Elas são simplesmente contêineres de dados usados por outras classes. Essas classes não contêm nenhuma funcionalidade adicional e não conseguem operar de forma independente sobre os dados que possuem.

## Signs and Symptoms

Uma classe de dados se refere a uma classe que contém apenas campos e métodos rudimentares para acessá-los (getters e setters). Elas são simplesmente contêineres de dados usados por outras classes. Essas classes não contêm nenhuma funcionalidade adicional e não conseguem operar de forma independente sobre os dados que possuem.

## Reasons for the Problem

É normal que uma classe recém-criada contenha apenas alguns campos públicos (e talvez até um punhado de getters/setters). Mas o verdadeiro poder dos objetos é que eles podem conter tipos de comportamento ou operações sobre seus dados.

## Payoff

* Melhora a compreensão e a organização do código. As operações sobre dados específicos agora ficam reunidas em um único lugar, em vez de espalhadas de forma desordenada pelo código.
* Ajuda você a identificar duplicação no código cliente.
## Relations

**Treated by**

- [Encapsular Campo](/pt-br/encapsulate-field.md)
- [Encapsular Coleção](/pt-br/encapsulate-collection.md)
- [Mover Método](/pt-br/move-method.md)
- [Extrair Método](/pt-br/extract-method.md)
- [Remover Método de Atribuição](/pt-br/remove-setting-method.md)
- [Esconder Método](/pt-br/hide-method.md)


## Detected by

- **pmd** `DataClass` — Classe de Dados (PMD) (https://pmd.github.io/pmd/pmd_rules_java_design.html#dataclass)
