완료형
왜 완료형을 알아야 하는가
한국어에는 “완료형”이라는 시제가 따로 없다. “나는 서울에 가 봤어”, “그는 이미 떠났어”, “나는 3년째 여기 살고 있어” — 이 문장들을 한국어로는 대충 과거형이나 현재형으로 처리하지만, 영어에서는 완료형(Perfect Tense) 이라는 별도의 시제로 구분한다.
영어 완료형은 have + 과거분사(p.p.) 로 만든다. 단순 과거가 “과거 어느 시점에 일어난 사건”을 말한다면, 완료형은 “지금(또는 기준 시점)과 연결된 과거” 를 표현한다. 이 차이를 모르면 다음과 같은 실수를 반복하게 된다:
- ❌ “I lost my key.” (잃어버렸다는 사실만 전달 — 지금은 찾았을 수도 있음)
- ✅ “I have lost my key.” (잃어버려서 지금도 없다는 뉘앙스)
이번 챕터에서는 현재완료 → 과거완료 → 미래완료 순서로 정리하고, 한국인이 자주 틀리는 포인트를 짚는다.
1. 완료형의 기본 구조
완료형은 시제에 관계없이 항상 have 동사 + 과거분사(p.p.) 조합이다.
| 시제 | 구조 | 예문 |
|---|---|---|
| 현재완료 | have/has + p.p. | I have finished my homework. |
| 과거완료 | had + p.p. | I had finished before he came. |
| 미래완료 | will have + p.p. | I will have finished by tomorrow. |
-ed를 붙이고(played, finished), 불규칙동사는 별도로 외워야 한다(go → gone, eat → eaten, write → written). 완료형에서 have는 시제를 담당하고, p.p.는 동작의 의미를 담당한다.
자주 쓰는 불규칙 과거분사
| 원형 | 과거 | 과거분사(p.p.) | 원형 | 과거 | 과거분사(p.p.) |
|---|---|---|---|---|---|
| go | went | gone | see | saw | seen |
| eat | ate | eaten | take | took | taken |
| write | wrote | written | give | gave | given |
| break | broke | broken | speak | spoke | spoken |
| know | knew | known | do | did | done |
| be | was/were | been | have | had | had |
| come | came | come | run | ran | run |
| buy | bought | bought | think | thought | thought |
2. 현재완료 (Present Perfect): have/has + p.p.
현재완료는 완료형 중 가장 많이 쓰이고, 가장 까다로운 시제다. 과거에 일어난 일이 현재와 연결될 때 사용한다. 크게 4가지 용법으로 나뉜다.
2-1. 완료 — “방금 끝났다”
어떤 동작이 막 완료되었음을 나타낸다. just, already, yet와 함께 자주 쓴다.
| 부사 | 위치 | 예문 | 해석 |
|---|---|---|---|
| just | have와 p.p. 사이 | I have just finished lunch. | 나는 방금 점심을 끝냈다. |
| already | have와 p.p. 사이 | She has already left. | 그녀는 이미 떠났다. |
| yet | 문장 끝 (부정·의문) | Have you eaten yet? | 아직 먹었니? / 벌써 먹었니? |
| yet | 문장 끝 (부정) | I haven’t decided yet. | 나는 아직 결정하지 못했다. |
2-2. 경험 — “~한 적 있다”
과거부터 현재까지의 경험 유무를 나타낸다. ever, never, before, once, twice, ~ times와 함께 쓴다.
| 예문 | 해석 |
|---|---|
| Have you ever been to Japan? | 일본에 가 본 적 있니? |
| I have never eaten sushi. | 나는 초밥을 먹어본 적이 없다. |
| She has visited Paris twice. | 그녀는 파리를 두 번 방문한 적이 있다. |
| I have seen this movie before. | 나는 이 영화를 전에 본 적 있다. |
2-3. 계속 — “~부터 쭉 해오고 있다”
과거에 시작된 상태나 동작이 현재까지 계속됨을 나타낸다. **since(~이래로)**와 **for(~동안)**가 핵심 짝꿍이다.
| 구분 | 의미 | 예문 | 해석 |
|---|---|---|---|
| since | 시작 시점 | I have lived here since 2020. | 나는 2020년부터 여기 살고 있다. |
| for | 기간 | I have lived here for 6 years. | 나는 6년째 여기 살고 있다. |
| since | 과거 사건 | She has worked here since she graduated. | 그녀는 졸업 이후로 여기서 일하고 있다. |
- since 뒤에는 시작 시점(구체적 시점)이 온다: since 2020, since Monday, since I was 10
- for 뒤에는 기간(얼마나 오래)이 온다: for 3 years, for a week, for a long time
✅ I have lived here for 6 years. (for + 기간 → 맞음)
✅ I have lived here since 2020. (since + 시점 → 맞음)
2-4. 결과 — “과거의 행동이 지금에 영향”
과거의 동작이 현재 상태에 영향을 미치고 있음을 나타낸다.
| 예문 | 해석 | 현재 상태 |
|---|---|---|
| I have lost my wallet. | 지갑을 잃어버렸다. | → 지금도 없다 |
| He has broken his leg. | 그는 다리가 부러졌다. | → 지금도 깁스 중이다 |
| She has gone to school. | 그녀는 학교에 갔다. | → 지금 여기 없다 |
현재완료 vs 과거시제 — 핵심 비교
이 구분이 한국인에게 가장 어렵다. 핵심은 “지금과 연결되느냐” 이다.
| 과거시제 (Simple Past) | 현재완료 (Present Perfect) |
|---|---|
| 과거의 한 시점에 초점 | 현재와의 연결에 초점 |
| 구체적 과거 시점을 밝힘 | 시점보다 결과·경험이 중요 |
| I lost my key yesterday. | I have lost my key. (지금도 없음) |
| She went to Paris last year. | She has been to Paris. (가 본 경험) |
| He ate lunch an hour ago. | He has already eaten lunch. (이미 먹음) |
| When did you arrive? | Have you arrived yet? |
- yesterday — ❌ I have met him yesterday. → ✅ I met him yesterday.
- ago — ❌ I have seen her two days ago. → ✅ I saw her two days ago.
- last ~ — ❌ I have visited last week. → ✅ I visited last week.
- when (의문사) — ❌ When have you arrived? → ✅ When did you arrive?
- in + 과거 연도 — ❌ I have graduated in 2020. → ✅ I graduated in 2020.
원칙: 과거의 구체적 시점(yesterday, ago, last ~, when, in 2020 등)이 명시되면 과거시제를 쓴다. 현재완료는 “언제”보다 “지금 어떤가”에 관심이 있는 시제다.
3. 과거완료 (Past Perfect): had + p.p.
과거완료는 과거보다 더 이전(대과거) 의 일을 표현할 때 쓴다. 과거의 두 사건 중 먼저 일어난 쪽에 과거완료를 사용한다.
3-1. 대과거 — “과거의 과거”
| 예문 | 해석 | 시간 순서 |
|---|---|---|
| When I arrived, she had already left. | 내가 도착했을 때, 그녀는 이미 떠난 뒤였다. | ① 그녀 떠남 → ② 내가 도착 |
| I realized I had forgotten my phone. | 핸드폰을 깜빡했다는 걸 깨달았다. | ① 깜빡함 → ② 깨달음 |
| He told me he had seen that movie. | 그는 그 영화를 봤다고 말했다. | ① 영화 봄 → ② 말함 |
3-2. 과거 시점까지의 완료·경험·계속
현재완료의 4가지 용법이 과거완료에도 그대로 적용된다. 기준점이 “현재”에서 “과거의 한 시점”으로 바뀔 뿐이다.
| 용법 | 예문 | 해석 |
|---|---|---|
| 완료 | I had just finished dinner when he called. | 그가 전화했을 때 나는 막 저녁을 끝낸 참이었다. |
| 경험 | She had never seen snow before she moved to Korea. | 그녀는 한국에 오기 전까지 눈을 본 적이 없었다. |
| 계속 | He had worked there for 10 years before he retired. | 그는 은퇴하기 전에 거기서 10년간 일했었다. |
| 결과 | I had lost my ticket, so I couldn’t enter. | 표를 잃어버려서 입장할 수 없었다. |
3-3. 함께 쓰는 핵심 표현
| 표현 | 예문 | 해석 |
|---|---|---|
| by the time | By the time I got there, the bus had left. | 내가 거기 도착했을 때쯤, 버스는 이미 떠난 뒤였다. |
| before | She had studied English before she went abroad. | 그녀는 유학 가기 전에 영어를 공부했었다. |
| after | After he had eaten, he went for a walk. | 그는 식사를 마친 후 산책을 갔다. |
| already | The movie had already started when we arrived. | 우리가 도착했을 때 영화는 이미 시작된 뒤였다. |
- 과거의 사건이 두 개 있고, 시간 순서를 명확히 하고 싶을 때 사용
- 먼저 일어난 사건 → had + p.p. (과거완료)
- 나중에 일어난 사건 → 과거시제 (단순과거)
- before/after로 순서가 명확하면 둘 다 과거시제로 써도 되는 경우가 많다
4. 미래완료 (Future Perfect): will have + p.p.
미래완료는 미래의 특정 시점까지 완료될 동작을 표현한다. “그때쯤이면 ~을 끝내 놓은 상태일 것이다”라는 뉘앙스다.
기본 구조
| 구분 | 구조 | 예문 |
|---|---|---|
| 긍정 | will have + p.p. | I will have finished the report by Friday. |
| 부정 | will not have + p.p. | She won’t have arrived by then. |
| 의문 | Will + 주어 + have + p.p.? | Will you have completed the project by next month? |
함께 쓰는 핵심 표현
| 표현 | 예문 | 해석 |
|---|---|---|
| by + 시점 | I will have graduated by next June. | 다음 6월까지는 졸업해 있을 것이다. |
| by the time | By the time you arrive, I will have cooked dinner. | 네가 도착할 때쯤이면 내가 저녁을 다 만들어 놓을 것이다. |
| by then | He will have left by then. | 그때쯤이면 그는 이미 떠나고 없을 것이다. |
| in + 기간 | In two years, she will have saved enough money. | 2년 후면 그녀는 충분한 돈을 모아 놓았을 것이다. |
- 미래의 마감 시점(by ~)이 있을 때 사용한다
- "그때쯤이면 이미 ~한 상태일 것이다"가 핵심 뉘앙스
- 일상 대화보다 계획·일정·약속 맥락에서 자주 등장한다
- by the time 뒤의 절은 현재시제를 쓴다 (미래시제 아님!)
5. have been to vs have gone to
이 두 표현은 한국인이 매우 자주 혼동하는 완료형 표현이다.
| 표현 | 의미 | 현재 위치 | 예문 |
|---|---|---|---|
| have been to | ~에 다녀왔다 (경험) | 지금은 돌아와 있음 | I have been to London. (런던에 가 본 적 있다 → 지금은 여기) |
| have gone to | ~에 가 버렸다 (결과) | 아직 거기 있음 | He has gone to London. (런던에 갔다 → 지금 여기 없음) |
비교 예문:
- Where is Tom? — He has gone to the library. (도서관에 갔다. → 지금 여기 없다.)
- Have you ever been to the library near here? (이 근처 도서관에 가 본 적 있니? → 경험을 물음)
I have just been to the dentist. (방금 치과에 다녀왔어.)
She has been to the store this morning. (오늘 아침에 가게에 다녀왔다.)
반면 have gone to는 항상 "가서 아직 안 돌아옴"이다. 따라서 1인칭(I, we)에는 have gone to를 거의 쓰지 않는다 — 내가 어딘가 가서 안 돌아왔으면 이 말을 할 수가 없으니까.
6. 한국인이 자주 하는 완료형 실수
실수 1: 과거 시점 부사 + 현재완료
| 틀린 문장 | 올바른 문장 |
|---|---|
| ❌ I have visited Seoul last year. | ✅ I visited Seoul last year. |
| ❌ She has called me yesterday. | ✅ She called me yesterday. |
| ❌ When have you arrived? | ✅ When did you arrive? |
실수 2: since + 기간 / for + 시점
| 틀린 문장 | 올바른 문장 |
|---|---|
| ❌ I have known him since 5 years. | ✅ I have known him for 5 years. |
| ❌ She has lived here for 2019. | ✅ She has lived here since 2019. |
실수 3: have been to와 have gone to 혼동
| 틀린 문장 | 올바른 문장 |
|---|---|
| ❌ I have gone to Japan twice. | ✅ I have been to Japan twice. (경험이니까 been to) |
| ❌ Where is he? He has been to work. | ✅ Where is he? He has gone to work. (아직 안 돌아왔으니까 gone to) |
실수 4: 현재완료의 have를 빠뜨림
| 틀린 문장 | 올바른 문장 |
|---|---|
| ❌ I already finished my homework. | ✅ I have already finished my homework. |
| ❌ She never been to Europe. | ✅ She has never been to Europe. |
실수 5: 과거완료를 단독으로 사용
과거완료는 비교 대상이 되는 과거 시점이 있어야 의미가 있다. 단독으로 쓰면 어색하다.
| 어색한 문장 | 자연스러운 문장 |
|---|---|
| ❌ I had eaten lunch. (그래서 뭐?) | ✅ I had eaten lunch before she arrived. |
| ❌ He had finished. | ✅ He had already finished when I got there. |
- "지금까지의 경험/결과" → 현재완료 (have/has + p.p.)
- "과거의 특정 시점에 일어난 일" → 과거시제 (V-ed)
- "과거 사건보다 더 먼저 일어난 일" → 과거완료 (had + p.p.)
- "미래 시점까지 완료될 일" → 미래완료 (will have + p.p.)
- 현재완료: just, already, yet, ever, never, since, for, so far, recently
- 과거완료: by the time, before, after, already, never ... before
- 미래완료: by, by the time, by then, in + 기간
- 현재완료 금지: yesterday, ago, last ~, when(의문사), in + 과거 연도
다음 챕터 미리보기
완료형에 진행형을 결합하면 완료진행형(have been -ing) 이 된다. “지금까지 계속 ~하고 있는 중이다”처럼, 완료의 “계속” 용법을 더 생생하게 표현할 수 있다. 다음 챕터에서는 완료진행형과 함께, 복문에서 시제를 맞추는 시제 일치 규칙까지 정리한다.