Reason for using private fields is for encapsulation. Since getBudgetList method is returning actual list and we modify all the time, there is no point of making field private