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.