Does PL/SQL Have User-Defined Types or Abstract Data Types?
The PL/SQL term for these things is “object types”. To do object-oriented programming, you use a mix of SQL and PL/SQL. You create the types themselves and the tables to hold them using SQL. You write the bodies of the methods in PL/SQL, and you can also manipulate tables of objects and call object methods through PL/SQL. The best source of information for object-oriented programming with PL/SQL is the book Oracle Database Application Developer’s Guide – Object-Relational Features.