Sure, someone could do this for you, but how would they know that you've left a tracksuit in a locker in the hallway or some cookies in the fridge? Unless the company manages a lot of bureaucracy that keeps track of every single object or resource belonging to the employee.
I'm sure you meant to say, the you tell all your belongings to collect themselves together, the machine that it better wipe itself and then you tell yourself to go through the door...
You don't need to know how to handle a filesystem and a specific brand of hard drive to ask your laptop to wipe itself; the laptop in turn doesn't need to know all the internals of the hard drive to ask it to perform that action.
> So a method call fire() on an object Employee is more "object oriented" than having HREmployeeService.fireEmployee(employeeId)
Which doesn't make sense - ignoring the "to set field employedTo directly on EmployeeDAO" because that is unrelated.
Oh, that's another point. You wouldn't send the message "fire [yourself]" but rather "[you are] fired". Do you agree?
"they are being sent the message they are being immediately fired"
To which you were asking "So what does the message do?"
In the real world (in our program code I mean), such a message would probably rarely being sent, because there is no action to be done on our model of an employee - I guess that's why I got the answer wrong. My bad.
Employee fired: "immediately" PayrollDepartment remove: "billy"