Skip to main content

완료형

Views 209약 11분생성형 AI 활용
Summary

완료형은 시간을 이어 붙이는 문법이다

영어를 배우는 사람에게 현재완료는 늘 이상한 문법처럼 느껴집니다. 이름부터 헷갈립니다. "현재"라고 하면서 과거 이야기를 하고, "완료"라고 하면서 아직 끝나지 않은 일도 말합니다.

예를 들어 보겠습니다.

I lost my key.
나는 열쇠를 잃어버렸다.

이 문장은 과거시제입니다. 말하는 사람은 "열쇠를 잃어버린 사건"을 과거의 한 장면으로 말합니다. 물론 지금도 열쇠가 없을 수 있지만, 문법 자체가 강조하는 것은 과거의 사건입니다.

그런데 이렇게 말하면 느낌이 달라집니다.

I have lost my key.
나는 열쇠를 잃어버린 상태다. / 열쇠를 잃어버려서 지금 문제가 있다.

여기서 핵심은 "잃어버렸다"라는 과거 사건이 아닙니다. 그 사건 때문에 지금 열쇠가 없다는 현재 상황이 중요합니다. 현재완료는 과거를 말하지만, 시선은 현재에 닿아 있습니다.

완료형을 이해하는 가장 쉬운 방법은 시간 위에 선을 하나 그리는 것입니다. 과거에 점이 하나 있습니다. 그리고 현재에 또 하나의 점이 있습니다. 현재완료는 그 두 점 사이에 선을 긋습니다.

과거에 어떤 일이 있었다.
그리고 그 일이 지금과 연결되어 있다.

이것이 현재완료의 중심입니다.

완료형은 단순히 "~해 왔다", "~한 적이 있다", "~해 버렸다"로 외우는 문법이 아닙니다. 한국어 번역은 상황에 따라 달라집니다. 하지만 영어 문장 안의 원리는 하나입니다. 기준 시점보다 앞선 일이 그 기준 시점과 연결된다는 것입니다.

현재완료는 현재를 기준으로 과거를 연결합니다. 과거완료는 과거의 한 시점을 기준으로 그보다 더 앞선 일을 연결합니다. 미래완료는 미래의 한 시점을 기준으로 그때까지 끝나 있을 일을 말합니다.

완료형은 시간을 접는 문법입니다. 과거를 그냥 과거에 두지 않고, 현재나 다른 기준 시점으로 끌고 오는 장치입니다.

완료형

현재완료의 기본 구조: have 또는 has + 과거분사

현재완료의 모양은 단순합니다.

주어 + have/has + 과거분사

주어가 I, you, we, they 또는 복수 명사이면 have를 씁니다.

I have finished the report.
나는 보고서를 끝냈다.

They have moved to Seoul.
그들은 서울로 이사했다.

주어가 he, she, it 또는 단수 명사이면 has를 씁니다.

She has changed a lot.
그녀는 많이 변했다.

The meeting has started.
회의가 시작되었다.

여기서 have와 has는 "가지다"라는 뜻의 일반동사가 아닙니다. 완료형을 만드는 조동사 역할을 합니다. 그래서 뒤에 동사의 과거분사가 옵니다.

과거분사는 동사의 세 번째 형태입니다.

원형과거형과거분사
gowentgone
seesawseen
eatateeaten
writewrotewritten
finishfinishedfinished
livelivedlived

규칙동사는 보통 -ed를 붙이지만, 자주 쓰는 동사 중에는 불규칙 변화가 많습니다. 그래서 현재완료를 말하고 쓰려면 동사의 과거분사형을 익혀야 합니다. 다만 처음부터 모든 불규칙동사를 한꺼번에 외우려고 하기보다, 자주 쓰는 문장 속에서 익히는 편이 좋습니다.

I have eaten lunch.
나는 점심을 먹었다.

He has written three emails.
그는 이메일 세 통을 썼다.

We have seen this movie before.
우리는 이 영화를 전에 본 적이 있다.

문장을 볼 때는 have나 has만 보고 "가지다"라고 해석하면 안 됩니다. 뒤에 과거분사가 오면 완료형입니다. have eaten은 "먹은 상태와 현재의 연결", has written은 "쓴 일과 현재의 연결", have seen은 "본 경험과 현재의 연결"을 나타냅니다.

현재완료는 네 가지 뜻이 아니라 네 가지 연결 방식이다

문법책에서는 현재완료를 보통 경험, 완료, 계속, 결과로 나눕니다. 이 분류는 도움이 됩니다. 하지만 이 네 가지를 전혀 다른 용법처럼 외우면 현재완료가 더 어려워집니다.

현재완료의 의미는 하나입니다.

과거에서 현재까지 이어진다.

다만 무엇이 어떻게 이어지는지가 다를 뿐입니다. 경험은 과거의 경험이 현재의 이력으로 이어지는 것입니다. 완료는 과거에 시작한 일이 지금 끝난 상태와 이어지는 것입니다. 계속은 과거부터 지금까지 같은 상태가 이어지는 것입니다. 결과는 과거 사건의 영향이 지금 남아 있는 것입니다.

이제 하나씩 살펴보겠습니다.

경험: 지금까지 살아오며 해 본 일

경험의 현재완료는 "지금까지의 삶"이라는 큰 시간 범위 안에서 어떤 일을 해 본 적이 있는지를 말합니다.

I have visited Canada.
나는 캐나다에 가 본 적이 있다.

이 문장은 "언제 갔는지"가 중요하지 않습니다. 중요한 것은 지금 말하는 사람의 경험 목록에 "캐나다 방문"이 들어 있다는 사실입니다.

She has met him before.
그녀는 전에 그를 만난 적이 있다.

We have tried this restaurant.
우리는 이 식당에 가 본 적이 있다. / 이 식당을 이용해 본 적이 있다.

Have you ever ridden a horse?
말을 타 본 적 있어요?

경험을 말할 때 자주 쓰는 표현은 ever, never, before입니다. ever는 의문문에서 "지금까지 한 번이라도"라는 느낌을 줍니다.

Have you ever been to London?
런던에 가 본 적 있어요?

never는 "지금까지 한 번도 없다"는 뜻입니다.

I have never eaten Thai food.
나는 태국 음식을 한 번도 먹어 본 적이 없다.

before는 "전에"라는 뜻으로, 경험이 현재보다 앞선 어느 시점에 있었다는 것을 부드럽게 덧붙입니다.

I have heard this song before.
나는 이 노래를 전에 들어 본 적이 있다.

여기서 조심할 점이 있습니다. 경험의 현재완료는 특정한 과거 시간을 콕 집지 않습니다. "어제", "작년에", "2019년에"처럼 시간이 닫혀 있으면 보통 과거시제를 씁니다.

I visited Canada in 2019.
나는 2019년에 캐나다를 방문했다.

I have visited Canada.
나는 캐나다에 가 본 적이 있다.

첫 문장은 2019년이라는 과거 장면을 말합니다. 두 번째 문장은 현재의 경험 목록을 말합니다. 시간의 초점이 다릅니다.

완료: 지금 기준으로 끝났는가

완료의 현재완료는 어떤 일이 지금 기준으로 끝났는지를 말할 때 씁니다.

I have finished my homework.
나는 숙제를 끝냈다.

이 문장은 단순히 "숙제를 했다"가 아니라, 지금 숙제가 끝나 있어서 더 이상 하지 않아도 된다는 느낌을 줍니다.

She has already left.
그녀는 이미 떠났다.

The train has just arrived.
기차가 방금 도착했다.

We haven't decided yet.
우리는 아직 결정하지 않았다.

완료를 말할 때는 just, already, yet이 자주 따라옵니다. just는 "방금", already는 "이미", yet은 부정문과 의문문에서 "아직" 또는 "벌써"의 느낌을 냅니다.

Have you finished the report yet?
보고서 끝냈어요?

I haven't checked my email yet.
아직 이메일을 확인하지 않았어요.

한국어로는 "끝냈어요?", "확인했어요?"처럼 과거시제처럼 번역되지만, 영어에서는 지금 상황이 중요합니다. 보고서가 지금 끝나 있는지, 이메일 확인이 지금까지 되었는지를 묻는 것입니다.

그래서 현재완료는 대화에서 아주 자주 쓰입니다. 상대에게 현재 상태를 확인하고 싶을 때 자연스럽습니다.

Have you eaten lunch?
점심 먹었어요?

이 질문은 "점심을 먹은 과거 사건" 자체를 조사하는 말이 아닙니다. 지금 배가 고픈지, 같이 밥을 먹을 수 있는지, 다음 일정을 진행해도 되는지처럼 현재 상황과 연결되어 있습니다.

계속: 과거부터 지금까지 이어지는 상태

계속의 현재완료는 어떤 상태가 과거에 시작되어 지금까지 이어지고 있음을 나타냅니다.

I have lived here for five years.
나는 여기에서 5년 동안 살아왔다.

이 문장의 뜻은 지금도 여기 산다는 것입니다. 과거에 살았고 지금은 살지 않는다면 과거시제를 써야 합니다.

I lived here for five years.
나는 여기에서 5년 동안 살았다.
지금은 살지 않을 가능성이 크다.

계속의 현재완료에는 for와 since가 자주 나옵니다. for는 기간을 말합니다.

for two hours
두 시간 동안

for three days
사흘 동안

for ten years
10년 동안

since는 시작점을 말합니다.

since Monday
월요일부터

since 2020
2020년부터

since I was a child
내가 어렸을 때부터

이 차이를 문장으로 보면 더 분명합니다.

I have known her for ten years.
나는 그녀를 10년 동안 알고 지냈다.

I have known her since 2016.
나는 2016년부터 그녀를 알고 지냈다.

for는 "얼마나 오래"를 말하고, since는 "언제부터"를 말합니다.

계속을 나타낼 때 주의할 점은 동사의 성격입니다. know, like, love, have, believe처럼 상태를 나타내는 동사는 보통 현재완료 형태로 자연스럽습니다.

I have known him for a long time.
나는 그를 오랫동안 알고 지냈다.

하지만 study, work, wait, learn처럼 활동이 이어지는 느낌을 강조하고 싶으면 have been -ing를 자주 씁니다.

I have been studying English for two hours.
나는 두 시간째 영어를 공부하고 있다.

이 차이는 뒤에서 다시 자세히 보겠습니다.

결과: 과거의 일이 지금 남긴 흔적

결과의 현재완료는 과거의 사건이 현재 상황에 영향을 주고 있을 때 씁니다.

He has broken his leg.
그는 다리가 부러졌다.

이 문장은 과거에 다리가 부러진 사건이 있었다는 뜻이지만, 말하는 순간 중요한 것은 지금 다친 상태라는 점입니다. 그래서 "지금 걷기 어렵다", "지금 병원에 있다", "지금 경기에 나갈 수 없다" 같은 현재의 결과가 느껴집니다.

I have lost my phone.
휴대폰을 잃어버렸다.
그래서 지금 휴대폰이 없다.

She has gone to Paris.
그녀는 파리에 가 버렸다.
그래서 지금 여기 없다.

The price has gone up.
가격이 올랐다.
그래서 지금 더 비싸다.

특히 have gone to와 have been to의 차이를 알아두면 좋습니다.

She has gone to London.
그녀는 런던에 갔다.
지금 런던에 있거나, 적어도 여기에는 없다.

She has been to London.
그녀는 런던에 가 본 적이 있다.
지금은 돌아와 있을 수 있다.

have gone to는 결과에 가깝습니다. 가 버려서 현재 여기 없다는 느낌입니다. have been to는 경험에 가깝습니다. 갔다 온 경험이 현재의 이력으로 남아 있다는 뜻입니다.

과거시제와 현재완료의 진짜 차이

과거시제와 현재완료의 차이는 한국어 번역만 보면 잘 보이지 않습니다. 둘 다 "~했다"로 번역될 수 있기 때문입니다.

I saw the movie.
나는 그 영화를 봤다.

I have seen the movie.
나는 그 영화를 본 적이 있다. / 이미 봤다.

첫 문장은 과거의 한 사건을 말합니다. 언제 봤는지, 누구와 봤는지, 그때 무슨 일이 있었는지로 이어지기 쉽습니다.

I saw the movie last night. It was great.
어젯밤에 그 영화를 봤어. 좋더라.

두 번째 문장은 현재와 연결됩니다. 지금 그 영화를 볼 필요가 없는지, 그 영화에 대해 이야기할 수 있는지, 경험이 있는지를 말합니다.

I have seen the movie, so I know the ending.
나 그 영화 봤어. 그래서 결말을 알아.

과거시제는 닫힌 시간입니다. 현재완료는 현재까지 열린 시간입니다.

말하고 싶은 것자연스러운 시제예문
어제 한 일과거시제I met him yesterday.
지금까지의 경험현재완료I have met him before.
2020년에 시작하고 끝난 일과거시제I worked there in 2020.
과거부터 지금까지 이어지는 일현재완료I have worked there since 2020.
과거 사건 자체과거시제She lost her bag at the station.
과거 사건의 현재 결과현재완료She has lost her bag.

현재완료는 보통 yesterday, last night, two days ago, in 2010처럼 특정 과거 시간을 나타내는 말과 잘 어울리지 않습니다.

I met him yesterday.
나는 어제 그를 만났다.

I have met him before.
나는 전에 그를 만난 적이 있다.

따라서 다음 문장은 어색합니다.

I have met him yesterday.

"어제"라고 시간을 닫았기 때문에 과거시제가 필요합니다.

I met him yesterday.

반대로 "지금까지", "전에", "한 번도", "이미", "아직"처럼 현재와 연결되는 표현은 현재완료와 잘 어울립니다.

I have never met him.
나는 그를 한 번도 만난 적이 없다.

I have already sent the file.
나는 이미 파일을 보냈다.

I haven't called her yet.
나는 아직 그녀에게 전화하지 않았다.

현재완료 부정문과 의문문 만들기

현재완료의 부정문은 have나 has 뒤에 not을 붙입니다.

I have not finished it.
나는 그것을 끝내지 않았다.

회화에서는 have not을 haven't, has not을 hasn't로 줄여 말하는 경우가 많습니다.

I haven't finished it yet.
아직 끝내지 못했어요.

He hasn't called me.
그는 나에게 전화하지 않았다.

의문문은 have나 has를 주어 앞으로 보냅니다.

Have you finished it?
끝냈어요?

Has she arrived?
그녀가 도착했나요?

Have they seen this before?
그들이 이것을 전에 본 적 있나요?

짧게 대답할 때도 have나 has를 사용합니다.

Have you finished the report?
Yes, I have. / No, I haven't.

Has he left?
Yes, he has. / No, he hasn't.

여기서 중요한 것은 do를 쓰지 않는다는 점입니다. 현재완료에는 이미 have나 has라는 조동사가 들어 있습니다. 그래서 의문문이나 부정문을 만들 때 do를 추가하지 않습니다.

Do you have finished it?
이 문장은 틀립니다.

올바른 문장은 다음과 같습니다.

Have you finished it?

have been -ing: 과거부터 지금까지 계속 움직이는 장면

현재완료진행형은 다음 모양으로 만듭니다.

주어 + have/has been + -ing

이 구조는 과거에 시작한 활동이 지금까지 이어지고 있거나, 방금 전까지 계속되어 현재에 흔적을 남긴다는 뜻입니다.

I have been studying English for three hours.
나는 세 시간째 영어를 공부하고 있다.

이 문장은 단순히 "공부해 왔다"보다 더 생생합니다. 책상에 앉아 있고, 노트가 펼쳐져 있고, 머리가 조금 지쳐 있는 장면이 떠오릅니다.

She has been working all day.
그녀는 하루 종일 일하고 있다. / 일해 왔다.

It has been raining since morning.
아침부터 비가 오고 있다.

We have been waiting for you.
우리는 너를 기다리고 있었어.

현재완료와 현재완료진행형은 둘 다 과거와 현재를 연결합니다. 차이는 어디에 초점을 두느냐입니다. 현재완료는 결과나 완료된 정도에 초점을 둘 때가 많고, 현재완료진행형은 과정과 지속에 초점을 둡니다.

I have read three books this month.
나는 이번 달에 책 세 권을 읽었다.

이 문장은 결과가 중요합니다. 세 권이라는 성과가 남았습니다.

I have been reading this book all afternoon.
나는 오후 내내 이 책을 읽고 있다.

이 문장은 과정이 중요합니다. 계속 읽고 있는 활동이 떠오릅니다.

또 다른 예를 보겠습니다.

He has painted the room.
그는 방을 칠했다.

방이 칠해진 결과가 중요합니다.

He has been painting the room.
그는 방을 칠하고 있었다. / 계속 칠하고 있다.

페인트 냄새, 옷에 묻은 페인트, 아직 끝나지 않았을 수도 있는 과정이 느껴집니다.

다만 모든 동사에 have been -ing를 자연스럽게 쓰는 것은 아닙니다. know, believe, own, belong처럼 상태를 나타내는 동사는 진행형과 잘 어울리지 않는 경우가 많습니다.

I have known her for ten years.
나는 그녀를 10년 동안 알고 지냈다.

다음 문장은 어색합니다.

I have been knowing her for ten years.

"알다"는 계속 움직이는 활동이라기보다 상태입니다. 그래서 have known이 자연스럽습니다.

과거완료: 과거보다 더 앞선 일을 연결한다

과거완료의 모양은 다음과 같습니다.

주어 + had + 과거분사

현재완료가 현재를 기준으로 과거를 연결한다면, 과거완료는 과거의 한 시점을 기준으로 그보다 먼저 일어난 일을 연결합니다.

When I arrived at the station, the train had already left.
내가 역에 도착했을 때, 기차는 이미 떠나 있었다.

이 문장에는 과거의 일이 두 개 있습니다. 하나는 "내가 역에 도착한 일"이고, 다른 하나는 "기차가 떠난 일"입니다. 시간 순서로는 기차가 먼저 떠났고, 그다음에 내가 도착했습니다.

과거완료는 이 순서를 분명하게 해 줍니다.

The train had already left.
기차는 그 과거 시점보다 먼저 떠나 있었다.

과거완료를 "대과거"라고 외우는 경우가 많습니다. 틀린 설명은 아니지만, 그것만으로는 부족합니다. 과거완료의 핵심은 "더 오래된 과거"가 아니라 과거 기준점과의 관계입니다.

I was nervous because I had never given a presentation before.
나는 긴장했다. 그전에는 발표를 한 번도 해 본 적이 없었기 때문이다.

기준 시점은 "긴장했던 과거"입니다. 그보다 앞선 경험의 부재를 had never given으로 말합니다.

She couldn't enter the room because she had lost her key.
그녀는 방에 들어갈 수 없었다. 열쇠를 잃어버렸기 때문이다.

기준 시점은 "방에 들어갈 수 없었던 과거"입니다. 그보다 앞서 열쇠를 잃어버린 일이 있었고, 그 결과가 그 과거 시점에 영향을 주고 있습니다.

과거완료는 이야기 속에서 특히 유용합니다. 사건이 일어난 순서와 말하는 순서가 다를 때 독자가 헷갈리지 않도록 도와줍니다.

I met Jina at the cafe. I had seen her once before, but we had never talked.
나는 카페에서 지나를 만났다. 전에 한 번 본 적은 있었지만, 이야기를 나눈 적은 없었다.

이 문장에서 met은 이야기의 중심 과거입니다. had seen과 had never talked는 그보다 앞선 배경입니다.

하지만 과거완료를 너무 많이 쓰면 문장이 무거워집니다. 사건 순서가 이미 분명하면 과거시제만으로도 충분합니다.

I got up, took a shower, and left home.
나는 일어나서 샤워하고 집을 나섰다.

이처럼 시간 순서대로 말할 때는 굳이 had gotten up, had taken a shower처럼 쓰지 않습니다. 과거완료는 필요한 곳에만 씁니다. 기준 과거보다 앞선 일을 강조하거나, 두 과거 사건의 순서를 분명히 해야 할 때 사용하면 됩니다.

미래완료: 미래의 어느 때까지 끝나 있을 일

미래완료의 모양은 다음과 같습니다.

주어 + will have + 과거분사

미래완료는 미래의 특정 시점을 기준으로, 그때까지 어떤 일이 끝나 있거나 일정 기간 이어져 있을 것이라고 말할 때 씁니다.

I will have finished the report by tomorrow.
나는 내일까지 보고서를 끝내 놓을 것이다.

이 문장에서 기준 시점은 tomorrow입니다. 말하는 사람은 내일이라는 미래 시점에 서서, 그때는 보고서가 끝난 상태일 것이라고 말합니다.

By the time you arrive, I will have cleaned the room.
네가 도착할 때쯤이면, 나는 방을 청소해 놓았을 것이다.

She will have graduated by next spring.
그녀는 내년 봄까지는 졸업해 있을 것이다.

We will have lived here for ten years next month.
다음 달이면 우리는 여기에서 산 지 10년이 된다.

미래완료에는 by가 자주 등장합니다. by는 "그때까지는"이라는 마감선의 느낌을 줍니다.

by tomorrow
내일까지는

by next Friday
다음 주 금요일까지는

by the time the meeting starts
회의가 시작할 때쯤이면

미래완료는 일상 대화에서 현재완료만큼 자주 쓰이지는 않지만, 계획, 마감, 일정, 예상 결과를 말할 때 매우 유용합니다.

I will finish the report tomorrow.
나는 내일 보고서를 끝낼 것이다.

I will have finished the report by tomorrow.
내일까지는 보고서를 끝내 놓은 상태일 것이다.

첫 문장은 미래의 행동을 말합니다. 두 번째 문장은 미래 기준 시점에서 완료된 상태를 그립니다. 그래서 마감이 있는 업무나 계획을 말할 때 더 정확합니다.

읽기에서 완료형은 이렇게 보인다

긴 영어 문장을 읽다가 have, has, had, will have 뒤에 과거분사가 나오면 먼저 완료형을 의심해야 합니다. 이때 바로 한국어 번역으로 뛰어들지 말고 기준 시점을 찾는 것이 좋습니다.

완료형을 읽는 순서는 다음과 같습니다.

  1. have, has, had, will have 뒤에 과거분사가 있는지 확인한다.

  2. 기준 시점이 현재인지, 과거인지, 미래인지 찾는다.

  3. 앞선 일이 그 기준 시점에 어떤 영향을 주는지 파악한다.

  4. for, since, already, yet, ever, never, by 같은 시간 표현을 함께 본다.

예문을 보겠습니다.

I couldn't answer the question because I had never heard the word before.

이 문장에서 couldn't answer는 과거의 중심 사건입니다. had never heard는 그보다 앞선 배경입니다. "그 단어를 들어 본 적이 없었기 때문에 질문에 답할 수 없었다"는 뜻입니다.

She has worked on this project for six months, so she knows every detail.

has worked는 과거부터 현재까지 이어진 일입니다. 그래서 뒤의 she knows every detail과 자연스럽게 연결됩니다. 6개월 동안 이 프로젝트를 해 왔으니 지금 세부 사항을 잘 안다는 뜻입니다.

By the time the guests arrive, we will have prepared everything.

will have prepared는 손님들이 도착하는 미래 시점까지 모든 준비가 끝나 있을 것이라는 뜻입니다. 기준 시점은 손님들이 도착하는 때입니다.

완료형을 독해할 때는 "완료, 경험, 계속, 결과 중 무엇이지?"라고 너무 오래 고민하지 않아도 됩니다. 먼저 "어느 시점과 어느 시점을 연결하지?"라고 물어보면 의미가 자연스럽게 보입니다.

말하기에서 완료형은 이렇게 쓴다

회화에서 현재완료는 상대의 현재 상태를 확인하거나, 자신의 경험을 자연스럽게 말할 때 자주 쓰입니다.

처음 만난 사람과 대화할 때는 경험의 현재완료가 유용합니다.

Have you ever been to Jeju?
제주도에 가 본 적 있어요?

I've never tried this food.
이 음식은 한 번도 먹어 본 적이 없어요.

I've seen that movie.
그 영화 봤어요.

일상적인 확인에는 완료의 현재완료가 자주 쓰입니다.

Have you finished?
다 끝났어요?

I've already sent it.
이미 보냈어요.

I haven't checked it yet.
아직 확인하지 못했어요.

상태가 이어지고 있음을 말할 때는 for와 since를 붙여 말하면 됩니다.

I've lived here for three years.
여기 산 지 3년 됐어요.

I've worked here since March.
3월부터 여기서 일하고 있어요.

We've known each other for a long time.
우리는 오래전부터 알고 지냈어요.

활동이 계속되고 있음을 생생하게 말하고 싶을 때는 have been -ing를 씁니다.

I've been learning English.
영어를 배우고 있어요.

She's been studying all night.
그녀는 밤새 공부하고 있어요.

We've been talking about you.
우리 너에 대해 이야기하고 있었어.

회화에서는 축약형도 많이 씁니다. I have는 I've, you have는 you've, he has는 he's, she has는 she's, we have는 we've, they have는 they've로 줄일 수 있습니다.

I've finished it.
끝냈어요.

She's gone home.
그녀는 집에 갔어요.

단, he's와 she's는 he is, she is의 축약형일 수도 있습니다. 뒤에 과거분사가 오면 has의 축약형이고, 뒤에 -ing나 형용사가 오면 is의 축약형인 경우가 많습니다.

She's finished the report.
She has finished the report.

She's working now.
She is working now.

글쓰기에서 완료형은 이렇게 만든다

글쓰기에서 완료형을 잘 쓰려면 먼저 기준 시점을 정해야 합니다. 지금과 연결되는 이야기라면 현재완료를 씁니다. 과거 이야기 안에서 그보다 앞선 배경을 말하려면 과거완료를 씁니다. 미래의 마감선까지 끝나 있을 일을 말하려면 미래완료를 씁니다.

예를 들어 자기소개 글을 쓴다고 해 봅시다.

I have studied English for five years.
I have taken several online courses.
I have never lived abroad, but I have talked with many foreign friends online.

이 글은 현재까지의 경험과 이력을 보여 줍니다. 그래서 현재완료가 자연스럽습니다.

반면 과거의 하루를 이야기하는 글에서는 과거완료가 필요할 수 있습니다.

I arrived at the office at nine, but the meeting had already started. I was embarrassed because I had forgotten to check the schedule.

이 문단에서는 arrived와 was embarrassed가 중심 과거입니다. had already started와 had forgotten은 그보다 앞선 일입니다.

업무 이메일에서는 미래완료가 마감과 약속을 분명하게 만듭니다.

I will have reviewed the document by Friday.
금요일까지는 문서를 검토해 놓겠습니다.

We will have completed the first draft by the end of this week.
이번 주 말까지는 초안을 완성해 놓겠습니다.

글쓰기에서 완료형은 문장을 더 정확하게 만듭니다. 단순히 언제 일이 일어났는지가 아니라, 그 일이 지금 또는 특정 시점에 어떤 의미를 가지는지 보여 주기 때문입니다.

한국인이 자주 틀리는 완료형

완료형은 한국어에 딱 맞는 문법 형태가 없기 때문에 실수가 자주 납니다. 특히 한국어 번역에 의존하면 현재완료와 과거시제를 구분하기 어렵습니다.

오류 1: 특정 과거 시간과 현재완료를 함께 쓴다

I have met him yesterday.

yesterday는 과거 시간을 닫아 버립니다. 그래서 현재완료가 아니라 과거시제를 써야 합니다.

I met him yesterday.

현재완료를 쓰고 싶다면 특정 시간을 빼고 경험으로 말해야 합니다.

I have met him before.

오류 2: for와 since를 바꿔 쓴다

I have lived here since five years.

since 뒤에는 시작점이 와야 합니다. five years는 기간이므로 for를 써야 합니다.

I have lived here for five years.

시작점을 말하면 since가 자연스럽습니다.

I have lived here since 2021.

오류 3: have gone to와 have been to를 혼동한다

I have gone to Japan twice.

"일본에 두 번 가 본 적이 있다"는 경험을 말하고 싶다면 have been to가 자연스럽습니다.

I have been to Japan twice.

have gone to는 가 버려서 지금 여기 없다는 결과의 느낌입니다.

He has gone to Japan.
그는 일본에 갔다. 그래서 지금 여기에 없다.

오류 4: 과거완료를 너무 많이 쓴다

한국인 학습자는 "더 과거니까 had p.p."라고 생각해서 과거완료를 과하게 쓰기도 합니다.

I had woke up at seven and had ate breakfast. Then I went to school.

사건이 시간 순서대로 진행되고 있다면 단순 과거로 충분합니다. 또한 wake와 eat의 과거분사형도 각각 woken, eaten입니다.

자연스러운 문장은 다음과 같습니다.

I woke up at seven and ate breakfast. Then I went to school.

과거완료는 두 과거 사건의 순서를 특별히 분명히 해야 할 때 씁니다.

I went to school, but the class had already started.

오류 5: 과거분사 대신 과거형을 쓴다

I have went there.

현재완료에서는 have 뒤에 과거형이 아니라 과거분사가 와야 합니다.

I have gone there.

go의 과거형은 went이고, 과거분사는 gone입니다. see는 saw가 과거형, seen이 과거분사입니다. write는 wrote가 과거형, written이 과거분사입니다.

완료형을 쓸 때는 "have 뒤에는 세 번째 형태"라고 기억하면 좋습니다.

문장 생성 연습: 현재와 연결하기

완료형을 잘 쓰려면 한국어 문장을 그대로 번역하기보다, 먼저 연결 관계를 생각해야 합니다.

다음 질문을 스스로에게 해 보세요.

  1. 이 일은 현재와 연결되는가?

  2. 과거의 특정 시점을 말하는가, 지금까지의 경험을 말하는가?

  3. 어떤 상태가 과거부터 지금까지 이어지는가?

  4. 과거 사건의 결과가 지금 남아 있는가?

  5. 기준 시점이 현재가 아니라 과거 또는 미래인가?

예를 들어 "나 지갑을 잃어버렸어"라는 말을 하고 싶습니다. 단순히 과거에 잃어버린 사건을 이야기한다면 과거시제입니다.

I lost my wallet yesterday.
나 어제 지갑을 잃어버렸어.

하지만 지금 돈을 낼 수 없거나 신분증이 없어서 곤란한 상황이라면 현재완료가 더 자연스럽습니다.

I have lost my wallet.
나 지갑을 잃어버렸어. 그래서 지금 없어.

이번에는 "나 여기서 3년째 일하고 있어"를 말해 봅시다. 과거부터 지금까지 이어지는 일이므로 현재완료를 씁니다.

I have worked here for three years.
나는 여기서 3년 동안 일해 왔다.

일하는 과정이 계속되고 있다는 느낌을 더 살리고 싶다면 현재완료진행형도 가능합니다.

I have been working here for three years.
나는 여기서 3년째 일하고 있다.

두 문장 모두 가능하지만 느낌이 조금 다릅니다. have worked는 이력과 기간에 초점이 있고, have been working은 계속 일해 온 과정에 초점이 있습니다.

직접 만들어 보기

다음 한국어 뜻을 보고 영어 문장을 만들어 보세요. 먼저 기준 시점을 생각한 뒤, 완료형이 필요한지 판단하는 것이 중요합니다.

  1. 나는 이 책을 이미 읽었다.

  2. 너는 제주도에 가 본 적 있니?

  3. 우리는 2020년부터 이 동네에 살고 있다.

  4. 그녀는 하루 종일 회의 준비를 하고 있다.

  5. 내가 도착했을 때 영화는 이미 시작해 있었다.

  6. 다음 주 금요일까지는 그 일을 끝내 놓겠습니다.

  7. 나는 그를 전에 한 번도 본 적이 없다.

  8. 그는 휴대폰을 잃어버려서 지금 연락할 수 없다.

가능한 답은 다음과 같습니다.

  1. I have already read this book.

  2. Have you ever been to Jeju?

  3. We have lived in this neighborhood since 2020.

  4. She has been preparing for the meeting all day.

  5. When I arrived, the movie had already started.

  6. I will have finished the work by next Friday.

  7. I have never seen him before.

  8. He has lost his phone, so he can't contact anyone now.

정답을 외우는 것보다 중요한 것은 문장을 만든 순서입니다. 먼저 기준 시점을 잡고, 그 기준 시점보다 앞선 일이 어떻게 연결되는지 생각해야 합니다.

완료형의 핵심 정리

완료형은 시간을 연결하는 문법입니다. 현재완료는 과거의 일이 현재와 연결될 때 씁니다. 과거완료는 과거의 한 시점보다 앞선 일을 말할 때 씁니다. 미래완료는 미래의 한 시점까지 끝나 있을 일을 말할 때 씁니다. 현재완료진행형은 과거부터 지금까지 이어지는 활동의 지속성과 생생함을 표현합니다.

현재완료의 경험, 완료, 계속, 결과는 따로따로 외워야 할 네 개의 뜻이 아닙니다. 모두 "과거와 현재의 연결"이라는 하나의 원리에서 나온 표현입니다.

영어 문장을 만들 때는 이렇게 생각하면 됩니다.

과거 사건만 말하면 과거시제.
과거가 지금과 이어지면 현재완료.
더 앞선 과거가 과거 기준점과 이어지면 과거완료.
미래의 어느 때까지 끝나 있을 일을 말하면 미래완료.

완료형을 익히면 영어의 시간 감각이 훨씬 선명해집니다. 영어는 단순히 일이 언제 일어났는지만 말하지 않습니다. 그 일이 지금 어떤 의미가 있는지, 그때 어떤 상태였는지, 미래의 어느 시점에는 어떤 결과가 되어 있을지까지 문장 안에 담습니다.

완료형은 과거를 현재로 데려오는 다리입니다. 그 다리를 이해하면, 영어 문장은 더 이상 시간표처럼 딱딱하게 보이지 않습니다. 사건과 상태가 서로 이어지고, 그 연결 속에서 말하는 사람의 의도가 살아 움직이기 시작합니다.

책 목록

문장으로 이해하는 영문법: 영어 구조가 읽기·쓰기·말하기로 이어지는 설계도

전체 목차 보기

이 노트는 보도·비평·교육·연구 목적으로 작성되었습니다. 저작권 문의가 있으시면 에서 알려주세요.

틸노트는 사용자가 AI를 활용해 노트를 쉽게 작성하거나 편집할 수 있는 서비스입니다.

AI 스퀘어 단톡방에 함께해요

AI 활용과 틸노트 사용 팁을 나누는 오픈채팅방입니다. 입장 비밀번호는 tilnote입니다.

참여하기