What is Reflection?
Reflection is used to dynamically create an instance of a type, bind the type to an existing object, or get the type from an existing object and invoke its methods or access its fields and properties.
What is Serialization?
Serialization is the process of converting an object into a stream of bytes in order to store the object or transmit it to memory, a database, or a file.
Its main purpose is to save the state of an object in order to be able to recreate it when needed.
The reverse process is called deserialization.
What is Threading?
Threading to perform concurrent processing so that you can do more than one operation at a time.
For example, you can use threading to monitor input from the user, perform background tasks, and handle simultaneous streams of input.