public void setName(String name)
{
this.name=name;
}
public String getName()
{
return name;
}
}
We are using POJO class like this, but why we are keeping variable scope as private,
In setter & getter we are not doing anything, then we can keep variable as public & directly access like
below right.
employee empObj = new employee();
empObj.name = "Test"
String name = empObj.name
what is the intention behind to keep variable scope as private ?
Karthikeyan Ramaswamy wrote:
what is the intention behind to keep variable scope as private ?
because allowing a user to change the instance field of a class is not a good Idea.
reason: working with method is easier than fields.
1. suppose you want to apply a common logic[synchronize etc...] when ever user set some value into the field.
2. importantly, instance variable dont have polymorphic behavior.
<edit>
3. setObject and getObject are more expressive than object.instanceVar = and = object.instanceVar
</edit>