Liskov's Substitution Principle we should be able to replace the references of parent class by its subclass without breaking the code [simple we can say] : No subclass should provide special meaning to the methods of superclass