Object-Oriented Software
- within an object, individual methods are imperative
- declarative aspect because of event-driven nature
- dynamic binding creates indefiniteness that resembles declarative programs
- it is impossible to ever know the full set of “adjacent” objects with which a given object may be composed
- two object may be correct, but errors might result when they are composed