NestBook / 영어문법

왜 완료형을 알아야 하는가

한국어에는 “완료형”이라는 시제가 따로 없다. “나는 서울에 가 봤어”, “그는 이미 떠났어”, “나는 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.
💡 과거분사(p.p.)란?
과거분사는 동사의 세 번째 변화형이다. 규칙동사는 -ed를 붙이고(played, finished), 불규칙동사는 별도로 외워야 한다(go → gone, eat → eaten, write → written). 완료형에서 have는 시제를 담당하고, p.p.는 동작의 의미를 담당한다.

자주 쓰는 불규칙 과거분사

원형과거과거분사(p.p.)원형과거과거분사(p.p.)
gowentgoneseesawseen
eatateeatentaketooktaken
writewrotewrittengivegavegiven
breakbrokebrokenspeakspokespoken
knowknewknowndodiddone
bewas/werebeenhavehadhad
comecamecomerunranrun
buyboughtboughtthinkthoughtthought

2. 현재완료 (Present Perfect): have/has + p.p.

현재완료는 완료형 중 가장 많이 쓰이고, 가장 까다로운 시제다. 과거에 일어난 일이 현재와 연결될 때 사용한다. 크게 4가지 용법으로 나뉜다.

2-1. 완료 — “방금 끝났다”

어떤 동작이 막 완료되었음을 나타낸다. just, already, yet와 함께 자주 쓴다.

부사위치예문해석
justhave와 p.p. 사이I have just finished lunch.나는 방금 점심을 끝냈다.
alreadyhave와 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 vs for 혼동 주의
  • since 뒤에는 시작 시점(구체적 시점)이 온다: since 2020, since Monday, since I was 10
  • for 뒤에는 기간(얼마나 오래)이 온다: for 3 years, for a week, for a long time
❌ I have lived here since 6 years. (since + 기간 → 틀림)
✅ 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 timeBy the time I got there, the bus had left.내가 거기 도착했을 때쯤, 버스는 이미 떠난 뒤였다.
beforeShe had studied English before she went abroad.그녀는 유학 가기 전에 영어를 공부했었다.
afterAfter he had eaten, he went for a walk.그는 식사를 마친 후 산책을 갔다.
alreadyThe 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 timeBy the time you arrive, I will have cooked dinner.네가 도착할 때쯤이면 내가 저녁을 다 만들어 놓을 것이다.
by thenHe 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? (이 근처 도서관에 가 본 적 있니? → 경험을 물음)
💡 have been to의 확장
have been to는 "경험" 외에 "다녀온 직후"를 나타내기도 한다.

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) 이 된다. “지금까지 계속 ~하고 있는 중이다”처럼, 완료의 “계속” 용법을 더 생생하게 표현할 수 있다. 다음 챕터에서는 완료진행형과 함께, 복문에서 시제를 맞추는 시제 일치 규칙까지 정리한다.