Digging deeper, the hardware analogy is pervasive in OOP. Alan Kay called the internet the best and most successful OOP system, Brad Cox saw objects as "software ICs", message passing is explicitly and pervasively modeled after hardware protocols by both. Java was born from research that sought to make OOP the norm in embedded ("Java runs on 3 billion devices!"), and Ada was a reality 10 years before that.
How do you define systems in Hardware Description Languages? you seperate the system into interacting thingies called "modules" whose state is strictly private and communicate through well-defined protocols, sounds familiar?
its not a panacea off course, but modeling a black box machine whose behavior is defined by how it responds to messages - ideally how embedded devices should be designed - is the classic OOP sales pitch.