Why won't he hold my hand?

OK so we've been seeing each other for around 4 months now (a long time for him to be shy about holding my hand) He's a great guy, always looks after me, not afraid to kiss me in public, etc but one thing I don't get is why he simply won't hold my hand when we're walking. Guys is there any reason that would stop you from holding your girl's hand while walking together or putting an arm around her? Shyness? Or because he's not into the girl for more than a physical relationship?
Why won't he hold my hand?
Add Opinion