Source: https://ase.in.tum.de/lehrstuhl_1/files/teaching/ss09/SEESS09/L1_UML_Class_diagrams.pdf