Boxing permits any value type to be implicitly converted to type object or to any interface type
implemented by value type. Boxing is a process in which object instances are created and copy
values in to that instance.
Unboxing is vice versa of boxing operation where the value is copied from the instance in to
appropriate storage location.