METHOD OVERLOADING :
Method Overloading allows us to write different versions of a method (i.e. a single class can contain more than one methods (Sub / Functions) of same name but of different implementation). And compiler will automatically select the appropriate method based on parameters passed.
Consider following points in order to implement/understand method overloading :

All the overloaded methods must be of same procedure type (either only Sub or only Function).

Allowed :

Public
Overloads Function add(ByVal a As Integer, ByVal b As Integer)
Public
Overloads Function add(ByVal a As Long, ByVal b As Long)
Not Allowed :

Public
Overloads Function add(ByVal a As Integer, ByVal b As Integer)
Public
Overloads Sub add(ByVal a As Long, ByVal b As Long)
Don't repeat same parameters with same data types in parameter, it will show an error

Example :

Public
Overloads Function add(ByVal a As Integer, ByVal b As Integer)
Public
Overloads Function add(ByVal a As Integer, ByVal b As Integer)
Overloaded methods must have different number parameters and/or Different data types in the parameters

Different number of parameters

Public
Overloads Function add(ByVal a As Integer, ByVal b As Integer)
Public
Overloads Function add(ByVal a As Integer, ByVal b As Integer, ByVal c As Integer)
Different data type in parameters

Public
Overloads Function add(ByVal a As Integer, ByVal b As Integer)
Public
Overloads Function add(ByVal a As Long, ByVal b As Long)
Inherited Classes can also overload their own methods or their base class methods

Example 1 :

Imports
System.Console
Module
Module1
Public Class
demo
Public Overloads Function add(ByVal a As Integer, ByVal b As Integer)
WriteLine("You are in function add(integer, integer)")
Return a + b
End
Function
Public Overloads Function add(ByVal a As Long, ByVal b As Long)
WriteLine("You are in function add(long, long)")
Return a + b
End
Function
End
Class
Sub Main()
Dim obj As New
demo
WriteLine(obj.add(2147483640, 4))
WriteLine(obj.add(2147483648, 1))
WriteLine("press return to exit...")
Read()
End
Sub

End
Module
Output :
MethodOverloading1.gif
Example 2 :

Imports
System.Console
Module
Module1
Public Class
demo
Public Overloads Function add(ByVal a As Integer, ByVal b As Integer)
WriteLine("You are in function add(a,b)")
Return a + b
End
Function
Public Overloads Function add(ByVal a As Integer, ByVal b As Integer, ByVal c As Integer)
WriteLine("You are in function add(a, b, c)")
Return a + b + c
End
Function
End
Class
Sub Main()
Dim obj As New
demo
WriteLine(obj.add(4, 2))
WriteLine(obj.add(4, 5, 1))
WriteLine("press return to exit...")
Read()
End
Sub

End
Module
Output :
MethodOverloading2.gif