Type casting involves converting a variable of one data type into another data type. It allows a variable to temporarily be treated as a different type. To type cast, the desired data type is written in parentheses before the variable. For example, (char)num casts the integer variable num as a character. Type casting is useful for operations like converting integer division to floating point to avoid truncation, and printing ASCII character codes as characters.