In the world of programming, you can write code in many different ways to accomplish what you want an app to do. There is functional programming and also something called Object Oriented Programming. The two are both used with computer languages but implemented in very different ways and each have their strengths and weaknesses.
In Functional Programming, the basis is on mathemeatical notiation. You create functions that interact, perhaps with other functions to output something. For example you can have g(f(x)) in which the input for g is th output of f using x as it's input. This is very simple to understand but can get very tedious to implement as every step is defined over and over again at times. The main thing to undesrtand is that data is loosely coupled to it's functions. Because these functions can be very complex, they are harder to manage across a group of other programmers and thus limits it's flixibility. The other problem is that functions have short life cycles. Once the code is run, it's done.
However, in Object Oriented Programming(OOP), the focus is on objects. These objects have behaviors that can pass messages to one another to get ouput in many different ways. These objects can represent data sturctures and be respresentative of the simplest behaviors. These little behaviors can be used to create behaviors that do greater things that have more meaning and eventually add in different combinations to output many different things. This idea is what makes OO programming so unique and great for building larger applications. You can reuse objects and their behaviors in other places if you build them to have that ability. The objects can be manipulated with methods in complex ways, but the beauty of this is that whatever an object can do, it's not important to the objects. As long as we know what type of message it requires and what it sends back via it's interface, we can use it for whatever purpose it fits into. And so, the main activity in OO Programming is composing new objects and extending existing objects by adding new methods to them.