<현재완료>
1. 완료형: <have + 과거분사>
have의 형태에 따라 현재완료, 과거완료, 미래완료로 부른다. 즉, have가 have/has이면 현재완료, had이면 과거완료, will have이면 미래완료가 된다.
2. 현재완료의 형태: <have/has + 과거분사>
- 주어가 3인칭 단수일 때는 has, 그 이외는 have로 쓴다.
- 과거분사: 1) 과거형이 -ed로 끝나는 동사는 거의 대부분 과거분사도 형태가 같다.
ex. play(원형) - played(과거형) - played(과거분사형)
2) 불규칙 변화를 하는 동사는 원형, 과거형, 과거분사형이 각각 다른 경우도 많다.
ex. steal(원형) - stole(과거형) - stolen(과거분사형)
3. 언제 현재완료를 사용하는가?: 과거에서 시작된 일이나 행위가 현재까지 영향을 미칠 때 쓴다.
ex. I bought a book. ▶ 책을 과거에 샀다는 것만 알 수 있고 현재도 가지고 있는지는 불명확
I have bought a book. ▶ 과거에 산 책을 현재도 가지고 있다.
4. 현재완료를 쓸 때 주의할 점
1) 명백히 과거를 나타내는 부사(구, 절)이 있을 때에는 과거로 표현해야 한다.
ex. I have bought a book yesterday. (x) → I bought a book yesterday. (o)
* 과거를 나타내는 표현: ago, just now, in the past, last night, in 2000, when 등
2) for, since, before가 사용된 경우 주의 사항
a. for: 다음에 오는 말은 단순 시간만 언급된다.
ex. I have lived in the house for 10 years ago. (x)
→ I have lived in the house for 10 years. (o)
* 주의: for the past 10 years처럼 <for the past ...> 형태는 현재완료로 표현한다.
ex. I have lived in the house for the past ten years. (o)
b. since: 뒤에 오는 말은 과거 시점을 반드시 나타내야 한다.
ex. I have lived in the house since 10 years. (x)
→ I have lived in the house since 10 years ago. (o)
I have lived in the house since I was a student. (o)
c. before: 거의 대부분이 현재완료나 과거완료와 쓴다.
ex. I have lived in the house ago. (x)
→ I have lived in the house before. (o)
→ I lived in the house 10 years ago. (o)
d. <have gone to>는 1인칭과 2인칭에서는 쓸 수 없다. '가버리고 현재는 없는 상태'이므로 지금 말하는 시점에 이 자리에 있어야 하기 때문이다.
ex. I have/You have/We have/She has/They have been to London. 런던에 갔다가 현재는 여기 있다.
She has/They have gone to London. 런던에 가서 여기 없다.
<연습문제>
다음 주어진 것 중 알맞은 것을 고르시오.
1. When (has she gotten / did she get) her degree?
2. I (have been / was) in London in 2009.
3. She (have / has / was) broken her legs.
4. My father (has worked / worked) as a teacher for the past 30 years.
5. Have you ever been to Chicago (ago / before)?
6. She (has learned / learned) it since she was young.
7. I (have been / have gone) to China.
8. He has made the toy for (two hours / two hours ago).
9. She has waited for me since (two hours / two hours ago).
10. We (have been / were) friends for a long time. We know each other very well.
Ans.
1. did she get / 그녀는 언제 학위를 받았니?
시간의 의문사 when은 특정 시간을 묻는 것이므로 과거와 현재가 공존하는 현재완료는 쓰지 못한다.
2. was / 나는 2009년에는 런던에 있었다.
in 2009는 과거 시간이다.
3. has / 그녀는 다리가 부러졌다.
broken이 과거분사이며 의미상 능동이므로 완료형 형태가 되어야 한다. 주어가 3인칭 단수이다.
4. has worked / 우리 아버지는 (지난) 30년간을 교사로 일하고 계신다.
for the past 30 years는 현재완료로 쓴다.
5. before / 너는 전에 시카고에 가 본 적이 있니?
ago는 시간과 사용하며 과거 시제를 나타낸다.
6. has learned / 그녀는 어렸을 때부터 그것을 배우고 있다.
since 이하가 '과거 이래'의 의미이므로 현재완료 쓴다.
7. have been / 나는 중국에 다녀왔다.
have gone은 내가 가버리고 현재는 없다는 뜻이므로 이런 표현을 말하는 시점에 이 자리에 있어야 하므로 쓸 수 없다.
8. two hours / 그는 2시간 동안 그 장난감을 만들고 있다.
for 다음에는 시간만 이어진다.
9. tow hours ago / 그녀는 나를 두 시간 전부터 기다리고 있다.
since 다음에는 과거 시점이 제시되어야 한다.
10. have been / 우리는 오랫동안 친구로 지내고 있다, 서로를 아주 잘 알고 있다.
현재도 친구관계를 유지하므로 과거부터 지금까지를 포함하는 현재완료로 쓴다.