Consider a user Account that contains the following members:

* Username
* Password
* Account Type (User/Admin)
* Security Question (Option of 5 choices)
* Security Answer
* A handful of booleans for various account specific settings.

How, can I design properly in order to build Objects of either Type `User` or Type `Admin` in a robust way where I can *sometimes* specify various data and other times, leave it empty / blank?

I want to create new Users and Admins, however their data (or the need to use such data) would vary massively. Maybe I want a user and I only want to specify its username + password, other times I want a User or Admin and specify ALL the members information.

What approach is best here?