Wrapper classes provide a way to use primitive data types ( int , boolean , etc..) as objects.
Boxing is the process of converting a primitive datatype into an object wrapper datatype, and unboxing is the process of converting a value from an object wrapper type back to the native primitive value. Further on, we can say that both boxing and unboxing operations are a subset of typecasting.