The plain Object methods need to be overridden for following reasons
1) toString() - For a string representation of your Class instance
2) equals() & hashCode() - For determining uniqueness of your Class instance
so that you can use them for comparisons, in collections etc
3) clone() - So that you can create replicas of your Class instance
or to prevent the same in some cases.
4) finalize() - to perform cleanup actions before the Class instance is garbage collected