Binding In OOPS
- In OOPs Binding is a process to connect method call to the method body.
- They are two types of Static(Early) and Dynamic(Late) Binding.
- In Static Binding object is determined at compiled time. This is done using static, private and, final methods which can not be override.
- In Dynamic Binding object is determined at run time.This is done using instance methods.
Static Binding:
public class Animal {
public void sound() {
System.out.println("Animal is speaking!");
}
}
public class Dog extends Animal {
public void sound() {
System.out.println("Dog is barking!");
}
}
public class Main {
public static void main(String[] args) {
Animal animal= new Animal();//Static binding
animal.sound();
Animal dog= new Dog();//Dynamic binding
dog.sound();
}
}
Output:
Animal is speaking!
Dog is barking!
Dynamic Binding:
public class Animal {
public static void sound() {
System.out.println("Animal is speaking!");
}
}
public class Dog extends Animal {
public static void sound() {
System.out.println("Dog is barking!");
}
}
public class Main {
public static void main(String[] args) {
Animal animal= new Animal();//Static binding
animal.sound();
Animal dog= new Dog();//Dynamic binding
dog.sound();
Dog.sound();
Animal.sound();
}
}
Output:
Animal is speaking!
Animal is speaking!
Dog is barking!
Animal is speaking!