An interesting feature of Fortran 2003 is the possibility to use an objectoriented style of programming. While Akin  and Decyk and Gardner  have shown that object-oriented programming (OOP) is possible in Fortran 90/95, the lack of inheritance and run-time polymorphism poses some limits on what you can do. Fortran 2003 makes these aspects of OOP readily available. Furthermore, in combination with other facilities you can do more than merely class-based OOP.
One thing to note: Object-oriented programming is a subject that is both vast and confusing at times. Not only does the terminology that is used differ per programming language, but also their semantics, or what the concepts actually mean. Authors differ ...