Object-oriented modeling and design uses objects and classes to model real-world concepts. It promotes better understanding of requirements through analysis, design, and implementation using object-oriented notations and processes. Key characteristics include identity, classification through classes, inheritance for sharing features among classes, and polymorphism where operations behave differently for different classes. Modeling involves creating class, state, and interaction models. Object-oriented themes like abstraction, encapsulation, and inheritance allow for flexibility, reusability, and low maintenance costs.