My first encounter with the grammars ~(이)나 and ~거나 was in basic level Korean. I was taught that they both mean 'or'.
1. ~(이)나 is attached to the back of a noun in the form - Noun + (이)나. For example,
버스나 지하철을 탈 거예요. / 지하철이나 버스를 탈 거예요.
I will take either bus or subway.
2. ~거나 is attached to the back of an action verb in the form - Avst + 거나. For example,
시간이 있으면 책을 읽거나 음악을 들어요.
When I have time, I either read book or listen to music.
[To say that ~(이)나 and ~거나 has the meaning of 'or' is more like giving an approximate to their meaning. What I have come to realise is that they both convey a sense of "it doesn't really matter which is which". This sense is the strongest in words like 아무거나 and 아무때나. 아무거나 means it doesn't matter what is the thing. In other words, it means anything and everything. Similarly, 아무때나 means it doesn't matter what is the time and hence, it means any time and every time. 다 상관 없어요.
When you understand the full meaning of ~(이)나, the following sentence is easy to explain:
시간이 없의니까 빵이나 먹읍시다.
There is no time so let's eat bread.
Sentence explained: When (이)나 is attached to 빵, it means eating bread is fine with the speaker although it is not something he would have eaten if given a choice. To translate the sentence with the nuance included, it will be: There is no time so it doesn't matter what is the food available out there, let's just eat bread and I am fine with it.
If you just memorise the meaning of (이)나 to be 'or', it will be difficult explaining the above sentence sensibly.]
My next encounter with ~(이)나 was in intermediate level Korean. Then, I was taught that it can also mean "to that much" or "as much as". What on earth does that means (도대체 무슨 뜻)? I cannot make full sense of the following sentence. 소주를 한 병이나 마셨어요 (I drank as much as one bottle of soju). Actually, what I mean is I can understand the sentence but I can't grab the sense which ~(이)나 conveys in the sentence. Why emphasise one bottle when it is just only one bottle? I can understand if it is ten bottles but why use ~(이)나 when it is only one bottle of soju? At one time, I even thought that ~(이)나 is similar to 쯤 and 정도. But ~(이)나 is not at all similar to them. It is not an approximate. "소주를 한 병이나 마셨어요" means I drank one bottle of soju exactly and not about one bottle of soju.
The moment of enlightenment came this week when my teacher drew something like what is shown below on the white board.
Both sentences above mean exactly the same thing, which is, there is half a cup of water. However, if you notice the expression to the right, one smiley is sad and the other is happy. The sentences above don't even say that the cup of water is half emptied or half-filled but yet as a reader, I know instantaneously the feeling of the person depending on what he writes. If I may put in some emotion after translating the two sentences, it would be like,
물이 반밖에 없어요 - There is only half a cup of water and nothing else :(
물이 반이나 있어요 - Wow~ there is half a cup of water :)
We all have a ruler of different graduations in us which we use to measure the world we live in. What is too much for some is too little for others. As a result, more often than not, there is a difference between what we think or expect and the actual truth. The grammar ~(이)나 is thus used in a situation when the actual truth is more than what one expects.
Back to the "one bottle of soju" example. When a person say, "소주를 한 병이나 마셨어요", what he actually means is I didn't think that I could even drink a bottle of soju because I am a weak drinker. However, the truth is I did drink one bottle of soju and that is beyond my expectation. I am quite surprised by what I did.
It would be very difficult to understand what the person actually mean if I just translate the sentence to be "I drank one bottle of soju". It is not wrong though but the '느낌' (feeling or sense) is completely lost and there is no knowing about the feeling and thought of the person who said it. From another angle, if the person is to omit using ~(이)나 and says "소주를 한 병 마셨어요", he is not conveying any of his feeling but a fact. In some way, ~(이)나, when used, tells us more about a person himself rather that the fact he is trying to convey.
Just to prevent confusion, (이)나 only carries the nuance of 'more than one's expectation' when it is attached to a quantitative noun or noun that is measurable.
~(이)나 is not as easy as it seems because it is used to convey human thought and feeling which are complicated in the first place. If I am to describe ~(이)나 in one word, it is about '차이' (difference) - the difference between one's thought and the reality. Below are three advanced usage of ~(이)나 which conveys the sense of '차이'. ~(이)나, in this instance, is attached to the noun which is not the reality.
1. 그 분은 프로 선수나 되는 것처럼 골프를 잘 져요.
That person plays golf so well as if he is a professional golfer.
(Note: (이)나 is attached to 프로 선수. The truth is the person is not a 프로 선수.)
Sentence Explained: That person in reality is not a professional golfer. However, when I saw him played, his skill is much better than thought, if not, as good as a professional golfer. When I think he is as good as a pro, there exists a difference or '차이' between my thought and the reality and hence ~(이)나 can be used.
2. 그런 짓은 어린애나 한는 거예요.
That is thing which only kid will do. [this is a common expression to tell people to grow up and stop behaving like a kid]
Sentence Explained: The person being remarked on is actually an adult but the thing he does, makes him seems like a kid in another person's eyes. Since difference exists, ~(이)나 can be used to convey the message - "Hey, you are an adult not a kid. Those are things which only kids will do. Grow up!"
3. 사람이 양심도 없으면 짐승나 다름없어요.
If a person don't even have conscience, he is no different from a beast.
Sentence Explained: In reality, nobody is a beast. However, in a situation when a person forsakes his conscience and does something bad, we would think that he is no different from a beast. So there exists a difference between what is reality and what we think. Again, ~(이)나 is quite useful in conveying the difference between our thought and the reality.
If you can follow me until here, good, if not, it doesn't really matter because you can't learn Korean well using English anyway. Language has a lot to do with '느낌' rather than grammars or other technical aspects of the language. I learned ~(이)나 back home but I never got the '느낌' until I came Seoul. Instead of saying that I am studying Korean in Seoul, I would rather say that I am trying to find the '느낌' of the language here. I am glad to say that what I have gained here until now is more than what I have expected. Although I wish to, I cannot use ~(이)나 to form a sentence in this instance because the difference is between before and after thought and there is no reality involved.
Last night, I dreamed a Korean correcting my broken Korean. I cannot remember the exact words he said but it was something that I could tell is proper Korean. Perhaps, the '느낌' of the language has begun to sit in my mind.