Reflection

Accessing private and protected member variables

Feature detection of classes or objects

Testing privateprotected methods