The most important thing
At this stage in your development as a programmer, the most important thing for you to know about user-defined types is that they are possible.
You can define new types in object-oriented programming.
Unlike earlier procedural programming languages such as C and early versions of Pascal, you are no longer forced to adapt your problem to the available tools.
Rather, you now have the opportunity to extend the tools to make them better suited to solve your problem.