현재완료(Present Perfect)
A2 Present perfect simple 25 / 50
요약
현재완료는 과거와 현재를 연결합니다: have/has + 과거분사. 삶의 경험, 최근 소식, 과거에 시작되어 지금도 사실인 일을 나타낼 때 씁니다. yesterday나 last week처럼 완료된 시간을 나타내는 표현과는 함께 쓰지 않습니다.
규칙
현재완료는 have / has + 과거분사(동사의 ‘세 번째 형태’)로 만듭니다.
- 규칙동사: 과거분사는 과거시제와 마찬가지로 -ed로 끝납니다(work -> worked, live -> lived).
- 불규칙동사: 세 번째 형태를 반드시 외워야 합니다(go -> went -> gone, see -> saw -> seen).
현재완료는 크게 네 가지 쓰임이 있습니다:
| 쓰임 | 의미 | 예 |
|---|---|---|
| 삶의 경험 | 인생의 어느 시점에 어떤 일이 일어났는지(또는 일어나지 않았는지)를 나타내며 — 정확한 시점은 중요하지 않습니다 | I have visited Rome. / I have never tried sushi. |
| 최근 동작 | 지금과 가깝게 느껴지는 끝난 동작 — 흔히 just, already, yet와 함께 씁니다 | She has just left. |
| 지금까지 | 과거에 시작되어 지금까지 계속되는 일 — for, since와 함께 씁니다 | We have known each other for years. |
| 과거의 동작과 현재까지의 결과 | 어떤 일이 일어났고 그 결과를 지금도 볼 수 있는 경우 | I have lost my keys. (= 지금 열쇠가 없다는 뜻) |
과거시제와의 핵심 차이: 문장에 완료된 시간을 나타내는 표현(yesterday, last week, in 2019, two days ago, when I was a child)이 있으면 현재완료가 아니라 과거시제를 씁니다.
| 틀림 | 맞음 |
|---|---|
| I have seen him yesterday. | I saw him yesterday. |
| She has called me last week. | She called me last week. |
since 뒤에는 과거시제가 흔히 쓰입니다: 기간이 시작된 사건을 나타내는 절 전체가 시작점이 될 수 있으며, 이때 그 절은 과거시제를 쓰고 주동사는 현재완료를 유지합니다 — We have shared an office since the team moved upstairs. 이 과거시제는 기간이 시작되는 시점만 나타낼 뿐, 주동사를 과거시제로 바꾸지 않습니다.
참고 (미국식 영어 vs 영국식 영어): 미국식 영어는 영국식 영어가 현재완료를 쓰는 자리에 과거시제를 쓰는 경우가 많습니다. 예를 들어 Did you eat yet?(미) vs Have you eaten yet?(영). 둘 다 이해됩니다.
형태와 패턴
긍정문: 주어 + have/has + 과거분사
| 주어 | have/has | 분사 | |
|---|---|---|---|
| I / you / we / they | have | finished | the work. |
| he / she / it | has | finished | the work. |
부정문: 주어 + have not / has not + 분사. 축약형: haven’t, hasn’t.
| 주어 | haven’t/hasn’t | 분사 | |
|---|---|---|---|
| I / you / we / they | haven’t | seen | the film. |
| he / she / it | hasn’t | seen | the film. |
의문문: Have/Has + 주어 + 분사?
| Have/Has | 주어 | 분사 | |
|---|---|---|---|
| Have | you | tried | it? |
| Has | she | called | back? |
짧은 대답: Yes, I have. / No, I haven’t. — Yes, she has. / No, she hasn’t.
긍정문에서 have/has의 축약형: I’ve, you’ve, we’ve, they’ve, he’s, she’s, it’s.
불규칙 과거분사 기초 목록:
| 기본형 | 과거시제 | 과거분사 |
|---|---|---|
| be | was/were | been |
| go | went | gone |
| see | saw | seen |
| do | did | done |
| make | made | made |
| have | had | had |
| take | took | taken |
| write | wrote | written |
| eat | ate | eaten |
| meet | met | met |
been vs gone:
| 문장 | 뜻 |
|---|---|
| He has gone to the shop. | 그는 아직 돌아오지 않았습니다(지금 가게에 있습니다). |
| He has been to the shop. | 그는 갔다가 돌아왔습니다. |
예문
| English | 참고 |
|---|---|
| Have you ever been to Spain? | 삶의 경험; ever = 인생의 어느 때든 |
| I’ve never tried Thai food. | 일어나지 않은 삶의 경험 |
| She’s just finished her homework. | Just = 아주 조금 전 |
| Have you done it yet? | Yet은 의문문에서 예상되는 동작에 대해 물을 때 씁니다. |
| He hasn’t called me back yet. | Yet이 부정문에 쓰이면 = 지금까지 일어나지 않았다는 뜻입니다. |
| We’ve lived here for ten years. | For + 기간; 지금도 사실인 일. |
| They’ve known each other since 2010. | Since + 시작 시점; 지금도 사실인 일. |
| I’ve lost my phone, so I can’t call you. | 현재에 분명한 결과가 남아 있는 과거의 동작. |
자주 하는 실수
- I have seen him yesterday. -> I saw him yesterday. — 완료된 시간을 나타내는 표현에는 과거시제가 필요합니다.
- She have finished. -> She has finished. — he/she/it에는 has을 씁니다.
- I have went to London. -> I have gone / been to London. — 과거시제 went이 아니라 분사(gone/been)를 씁니다.
- I live here for five years. -> I’ve lived here for five years. — ‘지금까지’라는 의미에는 현재시제가 아니라 현재완료가 필요합니다.
- I’ve been there since two weeks. -> I’ve been there for two weeks. — for + 기간, since + 시작 시점.
학습 팁
- 현재완료의 신호어: ever, never, just, already, yet, so far, for, since.
- 과거시제의 신호어: yesterday, ago, last (week/year), in 2019, when…. 이런 표현이 보이면 시제를 바꾸세요.
- ‘how long?’라는 질문에는 for를 쓰고(예: for two days), ‘from when?’라는 질문에는 since를 씁니다(예: since Monday, since we moved in).
- gone = 아직 안 돌아옴; been = 갔다가 돌아옴. 그 사람이 지금 여기 있는지 없는지 상상해 보세요.