R provides features of object-oriented and functional programming paradigms.
It has:
- first class functions
- lazy evaluation
Under object orientation:
Apart from that, there are also a number of contributed packages that provide other types of OO: proto, mutatr, R.oo, OOP.