Virtualization software create a "fake" machine for you to install another OS on. So using VirtualBox, Parllels or VMWare Fusion you could create a virutal machine that is consistent of a number of processors and some amount of memory (taking away from the host machine) and then you install Windows, Linux or any other OS in that VM. Once installed, the OS in the VM behaves like a regular installation and you can install applications, have network, sound, USB access and so on..
If you need to be developing Windows-specific applications, then a VM running Windows with Visual Studio would be the way to go.
You have 4GB of RAM right now and you'll find that isn't enough to run a VM of Windows and OS X happily at the same time, you really should first upgrade to at least 8 (more if your Mac supports it and you have the money)..
That way, you can give 4GB to OS X and 4GB to the Windows VM. OS X will then continue to function like it is right now and the Windows VM will also be happy..
As far as software needed, you can indeed start with VirutalBox which is available for free. You will also need a copy of Windows 7 to install and then you can install Visual Studio and off you go..