emotional miser
A person who doesn't give much to others on an emotional level. He or she may be socially adept and charming and quite generous in other ways, but not when it comes to investing love and trust and friendship in fellow human beings. It could be a form of self-defense or it could be a kind of selfishness, or both. The pop cultural consensus is that emotional misers are missing out on the essential human experience by their disconnection. A common story arc features an emotional miser's transformation into a loving, connected, happier person -- often against his or her own will.
Ryan Bingham (George Clooney's character in Up in the Air) and Will Freeman (Hugh Grant's character in About a Boy) are examples of emotional misers in film and literature.