delegates are like ptr.s to functions
so delegates are used when we want to call function of other object then delegates are created.