Understanding the Difference Between Methods and Functions
Mozhdeh Nouri Sarani
Android Developer : Kotlin | Mentor | Technical Knowledge Sharing | Team Player
I know that this is one of the most basic concepts of programming, but I see that most programmers make a mistake about this. In programming, it's essential to differentiate between methods and functions, as they play distinct roles in various languages.
Function:
A function is a stateless entity that performs a specific task. It is not associated with any class or object and can be defined independently. Functions are Typically stateless, focusing purely on input-output behavior without side effects.
Method:
A method is a function that belongs to a specific class or object. It operates on the data contained within the class instance (the object) and can manipulate the object's state. methods are often stateful, meaning they can manipulate the internal state of the class instance.
Java Does not support standalone functions, every function must be a method within a class instead in Kotlin, we have a new concept called functional programming, where functions are treated as first-class citizens. Kotlin supports both methods and standalone functions, providing more flexibility.
Extension Functions in Kotlin
A method is used for functions present inside a class. Functions are your general functions only. Methods are part of the type, inside the class definition, whereas functions are external. Where we want a close coupling between an external function and a type we can define extension functions, which are called like methods but defined outside the class. Kotlin's support for both methods and standalone functions, along with its extension functions, provides a robust and flexible programming environment
Fact: We can say the method is more related to the OOP concept and on the other hand function is related to functional programming.