По сути тут речь о том, что можно закэшировать результат расчёта либо внутри метода, либо снаружи.
Снаружи лучше, потому что:
1) каждый вызов метода - это в любом случае накладные расходы, если метод вызывается часто (например, в цикле), это может стать заметным
2) результат расчёта может зависеть от внешних данных, тогда нужно как-то инвалидировать кэш, снаружи это сделать проще