Hmmm....im new to C++ and OOP stuff. can i know what is the benefit of having OOP over functional? For instance:

-----------------------------OOP------------------------------------
int main(int argv, char* argv[]){
Buffer buffer;
buffer.Compress(char* infile, char* outfile);

return 0;
}
----------------------------------------------------------------------

----------------------------Functional---------------------------------
int main(int argv, char* argv[]){

buffer::Compress(char* infile, char* outfile);

return 0;
}
-----------------------------------------------------------------------

how the two above code different in sense of performance and efficiency?