
When I was a kid, I used to take the waitresses' tips off of the table at restraints. I want money...I see money...I take money... That's it. I had no idea that it was wrong, or that I was hurting anyone. Later on, I took money from my Grandfather's wallet. This time I knew it was bad because I had to sneak it. But I still didn't know that it was hurting him, or how morally bad it really was.
"How do you teach a kid morals when they don't fully understand morality?"
Just saying something is bad is not enough. They only think it's bad because they were told so, not because they feel guilty internally. Kids by nature have "egocentrism." This isn't because they are selfish, they just haven't yet developed the ability to see things from other people's point of view. There is also a thrill when you steal. You were clever, sneaky, outsmarted the system, and got away doing something you are not supposed to do.
Play "role reversal." Set up a situation where their favorite toy was stolen. Ask them how it makes them feel. Let them know that when they steal, they are making someone feel the same exact way.
Give them opportunities to earn money, even symbolically. (See: Chores, Children, and Character.)
Of course, tell them that thieves go to jail, but don't expect it to resonate.
Ask them how their hero (Batman, Captain America, Spider Man) would feel if they know they committed a crime.
Summary
Kids don't have the moral development to see things from other's point of view. And stealing is a path of least resistance. It's much easier and faster to simply take something than having to work for it or wait your turn to have it. It's up to us as parents to teach them these essential life lessons during their early development.