Is there any benefit to using getters/setters inside a class for its own fields?
<p>Usually, in my own projects I use getters and setters for any field access, and I followed to do the same on my job. Some time ago, the tech lead of our project asked me why I was doing that and why is this better than just using fields themselves (with an option of declaring them protected if they needed to be accessed by subclasses). I couldn't come up with a clear answer.</p>

<p>So, are there any reasons to using getters and setters inside a class for class' own fields, or is it better to use fields directly?</p>
