- **public**: Accessible from anywhere.
- **private**: Accessible only within the class it is declared.
- **protected**: Accessible within the class and by subclasses.
- **static**: Belongs to the class rather than instances; shared across all instances.
- **transient**: Prevents serialization of a variable; not saved when the object is serialized.
- **final**: Cannot be overridden (for methods) or inherited (for classes); a final variable cannot be changed.
- **volatile**: Indicates that a variable's value may be changed by different threads; ensures visibility of changes across threads.
Public : access anyware in script
Protected: access only same class and access inherited class
Private: access only in same class
Final: restrict overriding with child class
in object by default all variables are presistent. so some
time we want to avoid that variables means we use transient
for that variable.