현재완료(have + 과거분사)는 과거에 시작해 지금까지 이어지거나 지금과 연결되는 일을 말하고, 과거형(-ed)은 이미 끝난 과거 시점의 일을 말합니다. 핵심 질문은 그 일이 지금과 이어져 있느냐입니다. since·ever·so far가 붙으면 현재완료, yesterday·last month·in 2019처럼 끝난 시점이 명시되면 과거형입니다.
한국어의 -았/었- 시제는 이 둘을 모두 커버하기 때문에 '점심 먹었어' 하나가 I ate lunch와 I have eaten lunch를 다 대신합니다. 그래서 문법을 알아도 입에서 먼저 나오는 건 과거형입니다. 아래 30문항은 기초부터 수능·토익 수준까지 3단계로 구성했고, 문항마다 어느 힌트가 정답을 결정하는지 한국어로 해설합니다. 클릭하는 즉시 채점되니 틀린 문항은 해설을 읽고 바로 풀이를 고치세요.
현재완료 vs 과거형 퀴즈 30문항
기초 (중학 수준)
표준 (고등학교 수준)
심화 (수능·토익 수준)
정답 및 해설퀴즈를 마친 뒤 확인하세요.
- 1. HaveHave you ever been to ~?는 지금까지 그 장소에 가 본 적이 있는지 묻는 현재완료 경험 질문입니다. 조동사는 have이고, been은 be의 과거분사입니다. Did는 Did you ever go to ~?처럼 뒤에 동사원형 go가 오므로 been 앞에는 쓸 수 없습니다.
- 2. wentlast weekend는 이미 끝난 과거 시점을 가리키므로 과거형 went입니다. 앞 문항의 ever와 정반대 힌트죠. 시점 표현(last, ago, in 2019)이 보이면 현재완료는 아예 손도 대지 않는 것이 안전합니다.
- 3. have seen'세 번 봤다'는 지금까지 쌓인 경험 횟수이므로 현재완료 have seen입니다. 한국어 '이 영화 세 번 봤어'는 과거형처럼 들리지만, 영어는 지금까지의 누적 경험이면 현재완료로 말합니다.
- 4. have knownsince 2015는 '2015년부터 지금까지'라는 뜻이라 현재완료와 함께 씁니다. 한국어로 '2015년부터 알고 지냈어'라고 말하면 과거형 느낌이 강해서 knew를 고르기 쉽지만, since가 있으면 have known이 정답입니다.
- 5. metyesterday는 끝난 과거 시점이므로 met입니다. '어제 만났어'를 I have met him yesterday라고 쓰는 것은 한국인 최빈 오류 중 하나입니다. 현재완료 뒤에는 yesterday, ago, last week 같은 특정 과거 시점이 올 수 없습니다.
- 6. has arrivedLook!과 함께 '택시가 왔다'는 방금 완료된 일의 결과가 지금 눈앞에 보이는 상황이므로 현재완료 has arrived입니다. 한국어는 '택시 왔어' 한마디로 끝나지만, 영어는 '지금 보이는 결과'인지 '지나간 사건'인지를 시제로 구분합니다.
- 7. builtin 1980이라는 과거 시점이 명시됐으므로 built입니다. '1980년에 지었고 지금도 그 집이 서 있다'는 심리로 has built를 고르기 쉽지만, 영어에서는 시점이 정해지면 결과가 현재에 남아 있어도 과거형을 씁니다.
- 8. has lived태어나서 지금까지 계속 서울에 살고 있고 이사할 생각도 없으니 현재완료 has lived입니다. She lived in Seoul all her life라고 하면 이미 세상을 떠났거나 지금은 서울을 떠난 사람처럼 들립니다. 한국어 '평생 서울에 살았어'는 두 경우 모두 '-았-'을 쓰지만, 영어는 지금도 계속되는지에 따라 시제가 갈립니다.
- 9. has livedfor twenty years 뒤에 and he still loves it이 붙어 '지금까지 계속'이라는 뜻이므로 has lived입니다. for + 기간이라고 무조건 과거형은 아닙니다. 뒤 절이 '지금도 계속됨'을 말하면 현재완료입니다.
- 10. has rainedsince last night는 '어젯밤부터 지금까지'이므로 현재완료 has rained입니다(계속 내리는 중임을 강조하면 has been raining). 한국어 '어젯밤부터 계속 비가 왔어'는 과거형처럼 들려 rained를 고르기 쉽지만, since가 있으면 주절은 현재완료입니다.
- 11. wrote셰익스피어는 이미 돌아가신 인물이라 그의 활동 시기가 완전히 끝났으므로 과거형 wrote입니다. 한국어 '셰익스피어는 37편의 희곡을 썼다'와 1:1로 대응되는 문장이지만, 아직 활동 중인 작가라면 지금까지의 작품 수를 말할 때 has written을 쓸 수 있습니다.
- 12. haven't seenyet은 '지금까지 아직'이라는 뜻으로 현재완료와 함께 쓰는 것이 표준입니다. 아직 안 본 상태가 지금까지 이어지고 있으니 haven't seen이 정답입니다. 미국 구어에서는 I didn't see it yet도 들리지만, 글과 시험에서는 haven't seen이 안전합니다.
- 13. Have'여기서 얼마나 일했어요?'는 지금도 다니는 중일 가능성이 높은 질문이므로 현재완료 Have you worked가 정답입니다. 한국어로는 '일했어요'와 '일하고 있어요'가 애매한데, 영어는 재직 중이면 Have를 쓰고 그만뒀다면 Did를 씁니다.
- 14. have risensince last year는 '작년부터 지금까지'의 변화를 말하므로 현재완료 have risen입니다. 한국어 '작년부터 많이 올랐어'를 과거형으로 옮기는 습관이 여기서 발목을 잡습니다. since가 보이면 현재완료를 먼저 의심하세요.
- 15. hasnever + 과거분사 형태의 경험 부정이므로 has never traveled가 정답입니다. '한 번도 해외 여행 해 본 적 없어'는 지금까지의 경험이므로 현재완료로 말합니다. 한국어에는 '-어 본 적이 없다'라는 별도 표현이 있지만 영어는 have never p.p. 하나로 끝냅니다.
- 16. wentyesterday가 있으면 뒤에 결과가 이어져도 went입니다. '어제 갔고 지금도 아파'라면 한국어는 '-았-' 하나로 연결하지만, 영어는 사건(어제, 과거형)과 결과(지금, 현재)를 절로 나눠 시제를 분리합니다.
- 17. Havebefore는 '지금까지의 경험 전체'를 가리키는 힌트이므로 현재완료 Have you ever led입니다. 면접에서 '팀장 해 본 적 있으세요?'라고 물을 때 한국어 어감대로 Did you ever라고 하면 경험 질문이 아니라 특정 과거 사건 질문처럼 들립니다.
- 18. have studiedfor three years now에서 now가 붙으면 '3년 동안 지금까지 계속'이라는 뜻이므로 현재완료 have studied입니다. now 하나가 과거형 studied와 현재완료를 가르는 결정적 힌트입니다.
- 19. composed베토벤도 셰익스피어와 마찬가지로 활동 시기가 끝난 인물이므로 과거형 composed입니다. 그의 교향곡이 지금도 연주되더라도 '작곡한 시점'은 끝난 과거입니다. 세상을 떠난 인물의 업적은 대개 과거형으로 말합니다.
- 20. have spentso far는 '지금까지는'이라는 뜻으로 현재완료와 함께 씁니다. '지금까지 예산의 절반을 썼다'는 지금까지의 누적이므로 have spent입니다. so far, up to now, until now는 모두 현재완료 신호입니다.
- 21. developed아인슈타인의 활동은 끝났으므로 developed입니다. '그 이론은 지금도 유효하다'는 논리로 has developed를 고르면 틀립니다. 기준은 이론의 유효성이 아니라 사람의 활동 시기입니다.
- 22. have eaten'~해 보는 것은 이번이 처음이다' 구문(This is the first time ~)은 현재완료와 짝을 이룹니다. 한국어 '떡볶이 먹는 건 처음이야'에는 완료의 흔적이 없어서 ate를 고르기 쉽지만, 영어는 '지금까지 없었던 경험이 지금 생겼다'는 뜻으로 현재완료를 씁니다.
- 23. have calledsince this morning은 '오늘 아침부터 지금까지'의 누적이므로 have called입니다. 한국어 '오늘 아침에 세 고객한테 전화했어'는 과거형이지만, since가 붙는 순간 '아직 오늘이 안 끝났다'는 전제가 들어가 현재완료가 됩니다.
- 24. gotlast month가 있으므로 got입니다. 뒤에 지금의 상태를 말하는 절이 이어져도 첫 절의 시점 표현이 우선합니다. 한국어는 '지난달에 땄는데 아직 운전을 거의 안 해'를 -았- 하나로 잇지만, 영어는 절마다 시제를 따로 결정합니다.
- 25. Have빈칸 뒤가 과거분사 finished이므로 Have you finished입니다. Did를 넣으려면 Did you finish ~?처럼 동사원형이 와야 하고, Are you finished는 '끝난 상태냐'는 다른 구문입니다. 참고로 Did you finish your assignment yet?도 미국 영어에서는 자연스러운 문장이지만, 영국 영어와 시험에서는 yet과 현재완료를 짝짓는 것이 표준입니다.
- 26. has grownover the past decade는 '지난 10년간(지금까지)'이라는 기간이므로 현재완료 has grown입니다. over the past + 기간, in the last few years 같은 표현은 심화 단계에서 자주 출제되는 현재완료 신호입니다.
- 27. visitedwhen I lived in Busan은 끝난 과거의 습관이므로 visited입니다. '부산 살 때 자주 갔어'라는 과거 습관 표현에는 현재완료가 쓰일 수 없습니다. 과거 습관은 would visit으로도 바꿀 수 있지만 현재완료로는 못 바꿉니다.
- 28. have ever had최상급 뒤의 경험 표현은 '지금까지 만난 중에'라는 뜻이므로 현재완료 have ever had가 정답입니다. '내가 만난 것 중 가장 친절한 선생님'은 지금까지의 누적 경험이기 때문입니다. 최상급 + have ever p.p.는 세트로 외우세요.
- 29. rosein 2021은 끝난 과거 시점이므로 rose입니다. 앞에서 since last year가 현재완료였던 것과 같은 동사(rise)로 대비되는 문항입니다. 같은 내용이라도 시점 표현 하나로 시제가 갈린다는 것, 이것이 이 연습문제의 핵심입니다.
- 30. have knownsince we were kids는 '어릴 때부터 지금까지'이므로 have known입니다. since절 안에는 과거형(were)이 와도 주절은 현재완료여야 합니다. '어릴 때부터 알았으니까'라는 한국어 어감대로 knew를 고르면 시제가 어긋납니다.
판단 기준: 지금과 이어지면 현재완료, 끊기면 과거형
현재완료와 과거형은 대부분 이 질문으로 갈립니다. 그 일이 지금과 이어져 있나요? 이어져 있으면(경험, 계속, 방금 완료의 결과) 현재완료이고, 시점이 과거에 박혀 끊겨 있으면 과거형입니다.
- 현재완료의 세 용법: 경험(I have seen it twice), 계속(I have lived here for years), 완료·결과(I have lost my keys — 그래서 지금 못 연다).
- 과거형의 조건: 시점이 특정됐고 끝났다. I saw it yesterday, She moved in 2020.
- 판단 순서: 문장에서 시점 힌트 단어를 먼저 찾고, 없으면 '지금과 이어지는가'를 묻습니다.
문장을 다 읽기 전에 힌트 단어부터 찾아보세요. since, ever, so far → 현재완료 / yesterday, ago, last, in 연도 → 과거형. 힌트 단어가 있으면 판단이 훨씬 쉬워집니다.
힌트 단어 함정: since와 for, yet과 already
시험에서 시제를 결정하는 건 문맥보다 힌트 단어입니다. 다만 한국인 학습자가 특히 자주 놓치는 조합들이 있습니다. since와 for는 '지금까지 이어짐'이면 현재완료, '끝난 과거의 기간'이면 과거형입니다. for twenty years before moving처럼 뒤에 과거가 붙으면 과거형이 되죠.
- since 2015 / since I was a kid → 현재완료 (since절 안은 과거형).
- for three years now / so far / up to now → 현재완료.
- for five years before he retired / when I was young → 과거형.
- yet, already, just, ever, never → 현재완료와 짝(영국 영어·시험 기준).
- 미국 영어 주의: already, yet, just는 과거형과도 흔히 씁니다. Did you eat yet? I just ate. I already told him. 영국 영어에서는 Have you eaten yet? I've just eaten.이 더 일반적입니다. 시험에서는 현재완료를 고르되, 미국식 과거형을 틀렸다고 단정하지는 마세요.
- yesterday, ago, last week, in 1999, at that time → 과거형과 짝.
왜 한국인은 현재완료와 과거형을 헷갈릴까?
한국어의 시제는 -았/었- 하나입니다. '점심 먹었어'는 I ate lunch(I ate it, 끝난 사건)와 I have eaten lunch(지금까지의 경험)를 모두 표현할 수 있는 문장입니다. 즉 한국어 화자의 뇌에는 '완료 상태가 지금까지 이어지는가'를 매 문장마다 판단하는 습관 자체가 없습니다.
그래서 생기는 전형적인 오류가 세 가지입니다. 첫째, 지금도 계속되는 일을 과거형으로 묻기: 지금 그 동네에 사는 사람에게 '여기 산 지 얼마나 됐어요?'를 How long did you live here?라고 묻기(정답은 How long have you lived here?). 과거형으로 물으면 이미 이사 간 사람에게 묻는 말이 됩니다. 둘째, 과거 시점 표현과 현재완료를 붙이기: I have met him yesterday. 셋째, since 절을 과거형으로 끝내기: I know him since 2015. 세 오류 모두 한국어 어감을 영어로 직역한 것이므로, 문장을 만들 때 '-았/었-'을 그대로 옮기지 말고 '지금과의 연결'을 먼저 묻는 훈련이 필요합니다.
말하기 전에 스스로에게 이렇게 물어보세요. '이 일, 지금도 유효해?' 유효하면 have p.p., 아니면 과거형. '점심 먹었어'가 아니라 '지금 배부른 상태가 됐어'인지를 묻는 감각이 현재완료 감각입니다.
자주 나오는 함정 3가지
실전 시험과 회화에서 한국인이 가장 많이 당하는 함정을 정리하면 다음과 같습니다. 각각은 위 문항 중 하나와 연결되어 있으니 틀렸다면 해당 해설을 다시 읽어 보세요.
- yesterday + 현재완료: I have met him yesterday (X) → I met him yesterday (O). 특정 과거 시점은 현재완료와 절대 공존하지 못합니다.
- since + 과거형: I know him since 2015 (X) → I have known him since 2015 (O). since는 '지금까지'를 의미하므로 주절은 현재완료입니다.
- 세상을 떠난 인물 + 현재완료: Shakespeare has written 37 plays (X) → Shakespeare wrote 37 plays (O). 활동 시기가 끝난 인물의 업적은 과거형입니다.
현재완료가 몸에 붙는 연습법
시제는 규칙을 이해하는 것과 입에 붙는 것이 별개입니다. 위 30문항을 풀고 틀린 문항은 해설의 힌트 단어를 소리 내어 읽으며 문장 통째로 반복하세요. 그다음에는 같은 문장에서 힌트 단어만 바꿔 보세요. I met him yesterday → I have met him before처럼 스스로 시제를 바꿔 보면 규칙이 문장 감각으로 전환됩니다.
이어서 자기 글에 적용하는 단계가 필요합니다. 작성한 이메일이나 에세이를 PromGee의 무료 문법 검사기에 붙여 넣으면 시제 오류가 문장별로 표시되고 한국어 해설이 붙습니다. 내가 실제로 쓴 문장에서 틀린 시제만 모아 보면 어떤 패턴을 반복하는지 분명히 보입니다.
계속 연습하기
자주 묻는 질문
현재완료와 과거형을 한눈에 구분하는 방법이 있나요?
시점 힌트 단어를 먼저 찾으세요. already, yet, since, ever, so far가 있으면 현재완료이고, yesterday, ago, last week, in 2019 같은 끝난 과거 시점이 있으면 과거형입니다. 힌트 단어가 없다면 '그 일이 지금과 이어져 있나요?'를 물어 이어지면 현재완료, 끊겨 있으면 과거형입니다. 단, 미국 영어에서는 already, yet, just와 함께 과거형도 자주 쓴다는 점을 기억해 두세요.
한국어는 '-었-' 하나인데 영어는 왜 두 개로 나뉘나요?
한국어의 -았/었-은 사건이 끝났다는 것만 표시하지만, 영어는 끝난 사건(과거형)과 지금까지 이어지는 상태(현재완료)를 별도의 시제로 구분합니다. 그래서 '먹었어' 하나가 I ate와 I have eaten 두 문장으로 갈리고, 한국어 화자는 이 판단을 새로 훈련해야 합니다.
'I have visited Seoul in 2019'가 틀린 이유가 뭐예요?
현재완료는 '지금까지'를 뜻하므로 끝난 과거 시점 표현(in 2019)과 함께 쓸 수 없습니다. in 2019가 있으면 I visited Seoul in 2019로 과거형을 쓰고, '2019년에 간 경험이 있다'를 말하고 싶으면 시점 표현을 빼고 I have visited Seoul로 씁니다.
내가 쓴 문장의 시제 오류를 직접 확인해 보세요
규칙은 잊혀도 피드백은 남습니다. 작성한 이메일이나 에세이를 PromGee의 무료 문법 검사기에 붙여 넣으면 시제 오류가 문장별로 표시되고 한국어 해설이 붙습니다. 내 글에서 내가 틀리는 현재완료·과거형 패턴을 모아 보세요.
무료로 내 영어 검사하기