You don't need to get a domain/ hosting until you're ready to make your site go 'live'. However, if you are planning on development and think you'll need help from folks on this forum or any other forum, it's best to pick up a domain & hosting so you can at least show us what you have so far when you want us to troubleshoot something.

For hosting, you can use 1and1.com or inmotionhosting.com - they're pretty good, reliable & affordable too. If you choose to, you can also pick up your domain from one of these companies - so you get to manage your domain + hosting from one place.