Forman la parte estática de la clase. Son un conjunto de variables para las que es preciso definir:
- Su nombre.
- Su tipo, puede ser un tipo simple, que coincidirá con el tipo de dato que se seleccione en el lenguaje de programación final a usar, o compuesto, pudiendo incluir otra clase.
Además se pueden indicar otros datos como un valor inicial o su visibilidad. La visibilidad de un atributo se puede definir como:
- Público (+): Se pueden acceder desde cualquier clase y cualquier parte del programa.
- Privado(-): Sólo se pueden acceder desde operaciones de la clase.
- Protegido(#): Sólo se pueden acceder desde operaciones de la clase o de clases derivadas en cualquier nivel.
- Paquete(~): se puede acceder desde las operaciones de las clases que pertenecen al mismo paquete que la clase que estamos definiendo. Se usa cuando el lenguaje de implementación tiene esta característica como es el caso de Java.