Contents /
Previous /
Next
Why Object Oriented Programming (OOP)?
Keep large software projects manageable by human programmers.
Modularization

Decompose problem into smaller subproblems
that can be solved separately.
Abstraction -- Understandability

Terminology of the problem domain is reflected in the software solution.
Individual modules are understandable by human readers.
Encapsulation -- Information Hiding

Hide complexity from the user of a software of SDK.
Protect low-level functionality.
Composability -- Structured Design

Interfaces allow to freely combine modules to produce new systems.
Hierarchy

Incremental development from small and simple to more complex modules.
Continuity
Changes and maintenance in only a few modules
does not affect the architecture.