Backwards Compatibility in a Software System with Systematic Reference to Java

Backward compatibility 

Backward compatibility is a property of a system, product, or technology that allows for integration with an older legacy system or with an input designed for such a system. Modifying a system in a way that does not allow backward compatibility is called “Breaking Change.” While in the current era of agile software development demands fast-paced implementation of features to cater to rapidly changing requirements, it is extremely necessary to have backward compatibility in the software being developed.
This article depicts with an example how Java has achieved backward compatibility while developing new features, which will serve as a potential reference while updating existing code.
Let us understand the very important concept of 'widening' and how it is retained while developing new features like 'Autoboxing' in Java 5

Widening

In a class that has overloaded methods, one of the compiler's jobs is to determine which method to use whenever it finds an invocation for the overloaded method. 

Revisiting Java SE 5 Features! [SKP’s Java/Java EE Gotchas]

So, preparing for an interview? Want to revisit some Java SE 5 features? Trying to recall or revise a Java SE programming construct? Let me take you back in time to what was introduced first in Java SE 5! This progression and tutorial series on Java, as we all eagerly await the official release of Java SE 9!

Java SE 5 Release Date: 04-10-2004