I know this question is couple of years old, but I felt the "best answer" below doesn't really address OPs question and figured I'd chip in. It's a really good question, but more often than not your typical average Korean may miss the point entirely because they lack understanding of how surnames are in other countries and fail to grasp where questioner's coming from, and/or not very familiar with Korean history themselves.
Kim, Lee, Park are by far the most common surnames in Korea. One in five Korean is Kim, one in seven Korean is Lee, and about one in ten Korean is Park. Following closely in fourth and fifth are Choi and Jung (sometimes romanized as Cheong, Chung or Jeong), and these five surnames account for more than half of Korean population. So the answer to your first question is yes, these names are indeed quite common. There are another two dozen or so of common surnames, that average Koreans are familiar to seeing in day to day life, such as Kang(Gang), Go(Ko), Na, Nam, Min, Bang, Bae, Baek, Byeon, Seo, Son, Song, Sin, Sim, Ahn, Eom, O, Wang, Yun, Im(Lim), Jeon, Jo(Cho), Jin, Cheon, Pyo, Han, Hong, Hwang, .. etc.. Outside of these and maybe few others, rare, unique surnames are quite rare such that when Koreans see one that they've never seen before, they'll know it doesn't "sound like" a real name.
In the old days, similar to many parts of the world, average Koreans(i.e. peasants) didn't have surnames and weren't allowed to have one. But even among the ruling class it was quite common that they have "same" surnames. The way they distinguished themselves into separate "families" is by identifying the town/region they're from. So instead of simply saying someone is Kim, they'll say he's from "Gyong-ju Kim-ssi", which roughly translates to Kim family(Kims) of Gyong-ju. In feudal Korea small villages usually contained only one (extended) family of each surname, so this system sort of worked.