현재완료 시제란? 만드는 법과 쓰임 완벽 정리
현재완료(Present Perfect)는 과거에 일어난 일이 현재까지 어떤 식으로든 영향을 미치거나 이어지고 있음을 나타내는 시제입니다. 즉, "과거의 한 시점"만 콕 집어 말하는 과거시제와 달리, 현재완료는 "과거~현재"를 하나로 묶어서 보여주는 시제입니다.
핵심 한 줄 정의: 현재완료는 "과거에 시작된 일이 현재와 맺는 관계"를 표현하는 시제다.
현재완료 기본 공식
| 구분 | 형태 |
|---|---|
| 긍정문 | 주어 + have/has + 과거분사(p.p.) |
| 부정문 | 주어 + have/has + not + 과거분사(p.p.) |
| 의문문 | Have/Has + 주어 + 과거분사(p.p.) ~? |
| 축약형 | I've, You've, He's, She's, It's, We've, They've / haven't, hasn't |
- 주어가 I, You, We, They, 복수명사 → have + p.p.
- 주어가 He, She, It, 단수명사 → has + p.p.
예문:
- I have finished my homework. (나는 숙제를 끝냈다.)
- She has lived in Seoul for 10 years. (그녀는 서울에서 10년째 살고 있다.)
- They haven't arrived yet. (그들은 아직 도착하지 않았다.)
- Have you ever been to Korea? (한국에 가본 적 있어?)
현재완료의 4가지 핵심 용법
현재완료는 하나의 형태(have/has + p.p.)로 네 가지 다른 의미를 표현합니다. 이 네 가지를 구분하는 것이 현재완료 학습의 핵심입니다.
1. 완료 (Completion) — 방금 끝난 일
이미 끝난 일이지만, 그 결과가 지금 남아 있음을 강조합니다. just, already, yet 같은 부사와 자주 쓰입니다.
- I have just finished dinner. (나는 방금 저녁을 다 먹었다.)
- She has already left the office. (그녀는 이미 사무실을 떠났다.)
- Have you finished your report yet? (보고서 아직 안 끝났어?)
2. 경험 (Experience) — ~해본 적 있다
과거부터 지금까지의 경험을 말할 때 씁니다. ever, never, before, once, twice, times 등과 함께 자주 쓰입니다.
- I have visited Japan twice. (나는 일본에 두 번 가본 적 있다.)
- She has never eaten kimchi. (그녀는 김치를 먹어본 적이 한 번도 없다.)
- Have you ever seen a whale? (고래를 본 적 있어?)
3. 계속 (Continuation) — 과거부터 지금까지 계속됨
과거에 시작한 상태나 동작이 현재까지 이어지고 있음을 나타냅니다. for(~동안), since(~이래로)와 함께 자주 쓰입니다.
- I have known him for 5 years. (나는 그를 5년 동안 알고 지냈다.)
- We have lived here since 2015. (우리는 2015년부터 여기서 살고 있다.)
4. 결과 (Result) — 과거 행위의 현재 결과
과거의 동작이 만들어낸 지금의 상태/결과에 초점을 둡니다.
- I have lost my keys. (열쇠를 잃어버렸다. → 그래서 지금 없다.)
- He has broken his leg. (그는 다리가 부러졌다. → 그래서 지금 깁스를 하고 있다.)
4가지 용법 한눈에 비교
| 용법 | 의미 | 자주 쓰는 신호어 | 예문 |
|---|---|---|---|
| 완료 | 방금 끝남 | just, already, yet | I have just eaten. |
| 경험 | ~해본 적 있음 | ever, never, before, times | I have been to Paris. |
| 계속 | 계속 진행 중 | for, since | I have lived here for 3 years. |
| 결과 | 과거 행위의 현재 결과 | (신호어 없이 문맥) | I have lost my phone. |
for와 since, 언제 어떻게 다르게 쓸까?
현재완료 '계속' 용법에서 가장 많이 헷갈리는 부분이 for와 since의 구분입니다.
| 구분 | 의미 | 뒤에 오는 말 | 예문 |
|---|---|---|---|
| for | ~동안 (기간의 길이) | 기간을 나타내는 명사 | for 3 years, for a week, for a long time |
| since | ~이래로 (시작 시점) | 특정 시점을 나타내는 명사/절 | since 2020, since Monday, since I was young |
- I have studied English for 6 years. (6년 동안 = 기간)
- I have studied English since 2019. (2019년부터 = 시작점)
학습 팁: for 뒤에는 "얼마나 오래"를 나타내는 말, since 뒤에는 "언제부터"를 나타내는 말이 온다고 기억하면 헷갈리지 않습니다. "for + 숫자/기간", "since + 시점"으로 짝지어 암기하세요.
현재완료와 과거시제 차이점
한국인 학습자가 가장 자주 틀리는 부분이 바로 현재완료 vs 단순과거입니다. 한국어에는 이 둘을 구분하는 문법 장치가 따로 없기 때문입니다 (둘 다 "~했다"로 해석되는 경우가 많음).
핵심 차이
| 구분 | 현재완료 (have/has + p.p.) | 과거시제 (동사의 과거형) |
|---|---|---|
| 시간 초점 | 과거~현재 (연결됨) | 과거의 한 시점 (끊어짐, 현재와 무관) |
| 명확한 과거 시점 표현 | 함께 쓸 수 없음 (yesterday, last week, in 2020 등 불가) | 함께 씀 |
| 현재와의 관련성 | 있음 (결과/영향이 현재까지) | 없음 (단지 과거 사실 서술) |
비교 예문
- ❌ I have visited Jeju Island last year. (틀림 — 명확한 과거 시점 표현 불가)
- ✅ I visited Jeju Island last year. (작년에 제주도에 갔다 — 과거의 한 사건)
-
✅ I have visited Jeju Island. (제주도에 가본 적이 있다 — 경험, 시점 불특정)
-
I lost my wallet yesterday, but I found it later. (어제 지갑을 잃어버렸는데 나중에 찾았다 → 지금은 문제 없음, 과거 사실만 서술)
- I have lost my wallet. (지갑을 잃어버렸다 → 지금도 못 찾은 상태, 현재까지 영향)
Tip: "언제(when)"가 중요한 문장이면 과거시제, "지금 어떤 상태/영향인지"가 중요한 문장이면 현재완료를 씁니다.
현재완료진행형과의 차이 (have been -ing)
'계속' 용법에서는 현재완료진행형과도 자주 비교됩니다.
| 구분 | 현재완료 (have + p.p.) | 현재완료진행형 (have been + -ing) |
|---|---|---|
| 형태 | have/has + p.p. | have/has + been + 동사-ing |
| 초점 | 결과, 완료 여부 | 동작의 지속성, 진행 과정 |
| 예문 | I have read this book. (다 읽었다 — 완료) | I have been reading this book. (계속 읽는 중이다 — 진행 강조) |
| 상태동사 사용 | 가능 (know, live, believe 등) | 원칙적으로 상태동사 사용 불가 |
- I have written three emails. (이메일 세 통을 다 썼다 — 완료된 결과 강조)
- I have been writing emails all morning. (아침 내내 이메일을 쓰고 있(었)다 — 과정/지속 강조)
현재완료와 함께 자주 쓰이는 부사 정리
| 부사 | 의미 | 문장 내 위치 | 예문 |
|---|---|---|---|
| already | 이미, 벌써 | have와 p.p. 사이 (긍정문) | I have already done it. |
| yet | 아직, 벌써 | 문장 끝 (부정문/의문문) | I haven't done it yet. |
| just | 방금 | have와 p.p. 사이 | She has just arrived. |
| ever | (의문문) 지금까지 | have와 주어 뒤 | Have you ever tried sushi? |
| never | 한 번도 ~않다 | have와 p.p. 사이 | I have never seen snow. |
| for | ~동안 | 문장 끝, 기간 앞 | for two years |
| since | ~이래로 | 문장 끝, 시점 앞 | since last month |
| so far | 지금까지 | 문장 끝/앞 | So far, we have sold 100 units. |
| recently / lately | 최근에 | 문장 끝 | I haven't seen him recently. |
한국인 학습자가 자주 틀리는 부분
한국어의 문법 구조와 사고방식 때문에 한국인 학습자들이 반복적으로 저지르는 실수를 정리했습니다.
1. 명확한 과거 시점 표현과 함께 쓰는 실수
한국어는 "어제 ~했다", "작년에 ~했다"를 시제 구분 없이 자연스럽게 쓰기 때문에, 영어에서도 현재완료에 시점 부사를 붙이는 실수가 매우 흔합니다.
- ❌ I have met him yesterday.
- ✅ I met him yesterday.
- ✅ I have met him before. (before는 시점을 특정하지 않으므로 가능)
기억하세요: yesterday, last night, last year, in 2020, two days ago, when I was a child 처럼 "정확히 언제"를 못 박는 표현은 현재완료와 함께 쓸 수 없습니다.
2. "다녀왔다" = have been to / have gone to 혼동
한국어 "~에 가본 적 있다"를 영작할 때 have gone to를 쓰는 실수가 많습니다.
- ✅ I have been to Busan. (부산에 가본 적이 있다 — 경험, 지금은 돌아온 상태)
- ✅ He has gone to Busan. (그는 부산에 가버렸다 — 지금 여기 없고 부산에 있음, 3인칭에서만 자연스러움)
- ❌ I have gone to Busan. (본인이 말하면서 "나 지금 여기 없음"은 모순되므로 어색함)
3. 시제 일치에 대한 무감각
한국어는 시제 표현이 상대적으로 느슨해서, "계속 ~해왔다"는 의미를 표현할 때 그냥 현재형이나 과거형을 그대로 쓰는 실수가 있습니다.
- ❌ I live in Seoul for 10 years. (틀림)
- ❌ I lived in Seoul for 10 years. (문맥에 따라 다르지만 '지금도 사는지' 불분명)
- ✅ I have lived in Seoul for 10 years. (10년째 서울에 살고 있다 — 지금도 계속)
4. since 뒤에 기간을 넣는 실수
한국어 "~동안"에 이끌려 since 뒤에 기간(3 years 등)을 넣는 오류가 흔합니다.
- ❌ I have worked here since 3 years.
- ✅ I have worked here for 3 years.
- ✅ I have worked here since 2021.
5. 조동사 have를 소유의 have와 혼동
한국어에는 조동사 개념이 약해서, have를 "가지다"로만 이해해 완료형 문장을 어색하게 만드는 경우가 있습니다.
- have + p.p.의 have는 "가지다"라는 뜻이 아니라 완료를 만드는 조동사임을 명확히 인식해야 합니다.
- I have a car. (나는 차를 가지고 있다 — 일반동사 have)
- I have bought a car. (나는 차를 샀다 — 조동사 have + p.p.)
6. 어순(SVO) 실수 — 부사 위치
한국어는 어순이 비교적 자유롭지만, 영어는 have/has와 p.p. 사이에 already, just, never, ever 같은 부사가 오는 고정된 위치 규칙이 있습니다.
- ❌ I already have finished.
- ✅ I have already finished.
- ❌ Have you never been to Europe? (never는 already/already 자리 규칙과 달리 보통 긍정문에 쓰이므로 이런 배치 자체를 주의)
- ✅ I have never been to Europe.
7. 3인칭 단수 has 누락
한국어에는 주어에 따른 동사 변화가 없기 때문에, He/She/It 뒤에 has 대신 have를 쓰는 실수가 잦습니다.
- ❌ She have finished her homework.
- ✅ She has finished her homework.
현재완료 만드는 법: 불규칙 과거분사 주의
현재완료는 have/has + 과거분사(p.p.)로 만들지만, 많은 동사가 불규칙 변화를 하므로 반드시 암기해야 합니다.
| 동사원형 | 과거형 | 과거분사(p.p.) | 뜻 |
|---|---|---|---|
| go | went | gone | 가다 |
| be | was/were | been | ~이다 |
| see | saw | seen | 보다 |
| eat | ate | eaten | 먹다 |
| write | wrote | written | 쓰다 |
| break | broke | broken | 깨다 |
| know | knew | known | 알다 |
| do | did | done | 하다 |
| take | took | taken | 가져가다 |
| forget | forgot | forgotten | 잊다 |
규칙동사는 과거형과 과거분사가 동일합니다 (finish → finished → finished, work → worked → worked).
학습 팁: 불규칙 동사표는 "원형 - 과거형 - 과거분사" 세 칸을 세트로 외우세요. 특히 go(gone) / been의 의미 차이(가버려서 없음 vs 갔다 왔음)는 시험에 자주 출제됩니다.
실전 예문으로 감 잡기
| 상황 | 올바른 문장 | 해석 |
|---|---|---|
| 방금 도착 | I have just arrived at the station. | 방금 역에 도착했다. |
| 경험 유무 | Have you ever tried Korean BBQ? | 한국식 바비큐 먹어본 적 있어? |
| 계속되는 상태 | She has worked here since 2018. | 그녀는 2018년부터 여기서 일하고 있다. |
| 결과 강조 | Someone has taken my umbrella. | 누가 내 우산을 가져갔다. (그래서 지금 없다) |
| 명확한 과거 | I bought this umbrella last week. | 나는 지난주에 이 우산을 샀다. |
| 반복 경험 | I have watched this movie three times. | 나는 이 영화를 세 번 봤다. |
Have/Has been vs Have/Has gone 심화 비교
| 표현 | 의미 | 뉘앙스 |
|---|---|---|
| have been to + 장소 | ~에 가본 적 있다 | 갔다가 돌아온 경험 |
| have gone to + 장소 | ~에 가버렸다 | 아직 그곳에 있어서 현재 여기 없음 |
| have been in + 장소 | ~에 있어왔다 | 그 장소에 머무는 기간 강조 |
- I have been to London twice. (런던에 두 번 가봤다.)
- He has gone to London. (그는 런던에 가고 없다.)
- I have been in London for a week. (런던에 온 지 일주일 됐다.)
요약: 현재완료 핵심 정리
- 형태: 주어 + have/has + 과거분사(p.p.)
- 4대 용법: 완료(just, already, yet) / 경험(ever, never) / 계속(for, since) / 결과(신호어 없음)
- 과거시제와의 결정적 차이: 명확한 과거 시점 부사(yesterday, last year 등)와 함께 쓸 수 없음
- for vs since: for는 기간, since는 시작 시점
- 한국인 학습자 최다 오류: 시점 부사 동반 오류, since+기간 오류, has 누락, gone/been 혼동
마지막 학습 팁: 현재완료가 헷갈릴 때는 "이 문장이 과거의 한 순간을 말하는가, 아니면 그 일이 지금까지 이어지는 영향/의미를 말하는가?"를 스스로 질문해 보세요. 후자라면 현재완료, 전자라면 과거시제입니다.