Source: http://www-inf.telecom-sudparis.eu/cours/CSC3101/Supports/cours/methodes-instance.pdf