Attribútumot a következőképpen definiálhatunk:
<azonosító> : <típus> [ <- <kifejezés> ];
A kifejezés statikus típusa az attribútum deklarált típusának megfelelő kell legyen. Ha nem adjuk meg kifejezés-t, akkor
automatikusan inicializálódik a változó értéke.
Osztály létrehozásakor valamennyi attribútumot inicializálni kell. A kezdeti értékek
meghatározása a legtávolabbi őstől kezdődik, egy adott osztályon belül az
inicializálás a forrás szöveg szerinti sorrendben történik.
Az attribútumok lokálisak arra az osztályra, mely definiálta vagy örökölte őket.
Az attribútumok nem újradefiniálhatók.
Cool-ban minden változó kezdőértéket kap. A void érték
minden típusnak adattagja, ha nem alkalmazunk inicializálást, akkor ez lesz a
változó kezdeti értéke.
Az isvoid <kifejezés> utasítással kérdezhetjük
le, hogy a kifejezés void értékű-e. Void-ot
argumentumként is átadhatunk, értékül adhatjuk, mindenhol használhatjuk, ahol
bármilyen érték megengedett, kivéve a case utasítást.