Purpose:

  • Getters (getXxx()) → Read private fields.
  • Setters (setXxx()) → Modify private fields (with optional validation).

Example:

class Student {
    private String name;

    // Getter
    public String getName() {
        return name;
    }

    // Setter
    public void setName(String name) {
        if (name != null) {
            this.name = name;
        }
    }
}

Why Use Them?

Encapsulation (hide internal data)

Control access (add validation/logic)

Flexibility (change internals later)

Lombok Shortcut:

@Getter @Setter 
class Employee {
    private int id;
}

(Auto-generates getId() and setId())

Key Rule:

→ Always use private fields + public getters/setters for secure OOP design. 🛡️