UML can be described as the successor of object oriented analysis and design.
An object contains both data and methods that control the data. The data represents the state of the object. A class describes an object and they also form hierarchy to model real world system. The hierarchy is represented as inheritance and the classes can also be associated in different manners as per the requirement.
The objects are the real world entities that exist around us and the basic concepts like abstraction, encapsulation, inheritance, polymorphism all can be represented using UML.
So UML is powerful enough to represent all the concepts exists in object oriented analysis and design. UML diagrams are representation of object oriented concepts only. So before learning UML, it becomes important to understand OO concepts in details.
Following are some fundamental concepts of object oriented world:
- Objects: Objects represent an entity and the basic building block.
- Class: Class is the blue print of an object.
- Abstraction: Abstraction represents the behavior of an real world entity.
- Encapsulation: Encapsulation is the mechanism of binding the data together and hiding them from outside world.
- Inheritance: Inheritance is the mechanism of making new classes from existing one.
- Polymorphism: It defines the mechanism to exists in different forms.