현재완료(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 / theyhavefinishedthe work.
he / she / ithasfinishedthe work.

부정문: 주어 + have not / has not + 분사. 축약형: haven’t, hasn’t.

주어haven’t/hasn’t분사
I / you / we / theyhaven’tseenthe film.
he / she / ithasn’tseenthe film.

의문문: Have/Has + 주어 + 분사?

Have/Has주어분사
Haveyoutriedit?
Hasshecalledback?

짧은 대답: 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.

불규칙 과거분사 기초 목록:

기본형과거시제과거분사
bewas/werebeen
gowentgone
seesawseen
dodiddone
makemademade
havehadhad
taketooktaken
writewrotewritten
eatateeaten
meetmetmet

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 = 갔다가 돌아옴. 그 사람이 지금 여기 있는지 없는지 상상해 보세요.