단순 현재와 현재 진행형 문장들은 단순한 사실이나 현재 진행 중인 행위를 표현합니다. 그런데 이런 문장들이 how long, for 또는 since 등과 같이 기간 또는 행위가 시작된 시점을 말해주는 단어들과 함께 사용되면 완료형 문장으로 표현해야 합니다.
기본적으로 완료형은 과거로부터 말하는 시점까지 이어진 시간 범위(선)상에서 발생한 행위를 표현할 때 사용한다는 거 다 아실 겁니다. how long, for 또는 since와 같은 단어들은 이러한 시간 범위를 정의해 줍니다. 그러니 당연히 완료형을 사용해야 되겠지요.
1. how long, for 또는 since 등과 사용될 경우의 표현
현재 완료형 문장이 how long, for 또는 since 등과 같은 단어와 함께 사용되면 과거에 시작되어서 현재 계속 진행 중인 것을 표현합니다. 비슷한 내용의 단순 현재와 현재 완료를 예문을 통해 비교해보겠습니다.
We know each other very well.
We've known each other since we were in high school.
첫 번째 문장은 "우리는 서로를 잘 알아."라는 사실을 이야기하는 단순 현재 문장입니다. 두 번째 문장은 "고등학교를 다닐 때 처음 만나서 지금까지 알고 지낸다."라는 과거에 시작되어서 현재까지 계속되는 사실을 이야기하고 있습니다. 비슷한 예문 몇 가지를 더 살펴보지요.
Do you have a pain in your stomach?
How long have you had the pain? (not How long do you have)
I'm learning English.
I've been learning English for six months. (not I am learning)
He's waiting for somebody.
He's been waiting all morning.
위 예문들을 보면 현재 완료와 현재 완료 진행형이 혼용되고 있지요? 이거 설명하기 상당히 까다로운 대목인데, 어떻게 구분해서 사용하면 좋은지 알아보도록 하겠습니다.
2. 현재 완료와 현재 완료 진행형의 사용
how long, for 또는 since등과 같은 단어를 사용하는 경우에는 진행형을 사용하는 것이 일반적입니다. 일반적이라는 이야기이지, 현재 완료에 쓰면 안 된다는 이야기는 아닙니다.
I've been studying English for six months.
It's been raining since lunchtime.
Richard has been doing the same job for 20 years.
"How long have you been driving?" "Since I was 17."
이러한 문장에 현재 완료가 사용되면 말하는 시점에 완료의 의미가 강합니다. 현재 완료 (Present Perfect)의 3. 현재 완료에서 시간의 의미 (선 시제)를 참고하기 바랍니다. 반면, 현재 완료 진행형은 계속의 의미가 더 강합니다. 현재 완료 진행형 (Present Perfect Continuous)의 2. 계속 진행되고 있는 행위를 표현할 때를 참고하기 바랍니다.
잊지 말아야 할 것은 시간을 정의해주는 단어들과 함께 사용되어 문장이 주는 의미가 달라진다고 하더라도 - 달라진다기보다는 풍부해진다고 보는 것이 맞겠지요. - 완료형 시제와 진행형 시제가 가지는 기본적인 속성은 그대로 가지고 있다는 것입니다.
그래서 know/like/believe 등과 같은 동사들은 일반적으로 진행형으로 사용하지 않습니다.
How long have you known Jane? (not have you been knowing)
이 동사들은 현재 진행형과 같이 사용되지 않는 동사들과 같습니다. 자세한 내용은 현재 진행형과 단순 현재 (Present Continuous and Simple Present)의 3. 현재 진행형에 사용하면 안 되는 동사들을 참고하기 바랍니다.
이와 반해 live와 work는 두 가지 형식을 모두 사용할 수 있습니다.
John has been living / has lived in Denver for a long time.
How long have you been working / have you worked here?
그러나 always는 현재 완료만 사용할 수 있습니다.
John has always lived in Denver, (not has always been living)
부정문에서는 현재 완료만 사용할 수 있습니다.
I haven't seen Tom since Monday. (= Monday was the last time I saw him)
Jane hasn't called me for two weeks. (= the last time she called was two weeks ago)
제 주관적인 판단으로는, 언제 현재 완료를 사용하고 언제 현재 완료 진행형을 사용하느냐의 문제는 - 위에 이야기한 몇 가지 규칙을 제외하면 - 문장이 무엇을 이야기하느냐에 달려있다고 생각합니다. 문장이 이야기하는 내용의 무게 중심이 사실 관계나 경험에 가까울수록 현재 완료를, 행위에 가까울수록 현재 진행형을 사용하면 되지 않나 싶습니다.