When I got my first bank account and started depositing my own paychecks and using an ATM/Debit card, I made some mistakes. I overdrafted twice, and realized I never wanted to do it again. I had a few fees taken out of my account, and I realized I didn't like that either.
The cure for overdrafting for me was a simple rule my wise grandmother helped me out with, always have at least $500 in your checking account. This was a tough rule when my paychecks from my first job were miniscule, but I have stuck with it since and it has served me well. I have bumped up the amount and currently try to keep right around $1000 in our checking account. This is a good amount for us, and let's us maintain our automatic deductions into our savings/investing accounts as well. These do not need to be huge automatic deductions, but making them automatic means we don't think about them on a day to day basis and then BAM! a few months later we see that we are making progress. That bam was for effect =D
If you have overdrafted, don't be afraid to ask the bank to waive the fee. Feel free to throw in that you have been a great customer/1st time you've made the mistake/anything that will help your case. Avoiding the overdraft fee for me was easy the first time, and took a little more effort the second time. I felt embarrased after I got hit with the fees, but after I put my pride aside I was sucessful in avoiding $70 worth of fees. In this case, the fees were a huge portion of my small take home pay at the time. Granted, I was a bit younger, and that may have been why the manager took pity on me, but it never hurts to ask your bank to waive a fee. If you find you are getting hit with fees all the time, maybe it's time to shop for a new bank.