현재완료와 과거시제, 선택을 가르는 기준
형태부터 정리하면 과거시제는 동사의 과거형 하나로 끝나고(lost, went, saw), 현재완료는 have나 has에 과거분사를 붙입니다(have lost, has gone, have seen). 주어가 3인칭 단수면 has를 쓰고 나머지는 have를 씁니다. 형태 차이는 눈에 띄지만 정작 어려운 건 의미 선택입니다.
과거시제는 사건을 과거라는 닫힌 구역 안에 놓습니다. 그 일은 이미 끝났고, 화자의 관심도 그 시점에 머뭅니다. 반면 현재완료는 과거에 일어난 일을 지금 시점에서 바라보는 시제입니다. 사건 자체는 과거에 있어도 말하는 사람의 시선은 현재에 있습니다.
그래서 두 시제의 선택은 ‘언제 일어났나’가 아니라 ‘지금과 어떤 관계일까요’로 갈립니다. 아래 세 조건은 이 관계를 확인하는 구체적인 질문입니다. 조건마다 같은 상황을 두 시제로 바꿔 가며 어떤 의미가 달라지는지 보겠습니다.
조건 1 시간 표현이 과거를 못 박는가

yesterday, last week, in 2019, two days ago, when I was a child처럼 끝난 시점을 지정하는 표현은 과거시제와 함께 씁니다. 이런 부사는 사건을 특정 과거 구간에 고정하는데, 현재완료는 그 구간을 지정하지 않는 시제라 충돌합니다. I saw her yesterday는 자연스럽지만 I have seen her yesterday는 어색하게 들립니다.
반대로 today, this week, this year, so far, recently처럼 아직 끝나지 않은 기간을 가리키면 현재완료가 어울립니다. I’ve read three books this month는 이번 달이 아직 진행 중이라는 전제를 깔고 있습니다. 같은 문장을 I read three books last month로 바꾸면 지난달이라는 닫힌 구간이 되어 과거시제를 씁니다.
주의할 점은 this week 같은 표현도 화자가 그 기간을 이미 끝난 것으로 볼 때는 과거시제와 쓰인다는 것입니다. 일요일 밤에 I worked a lot this week라고 말하면 한 주를 마감된 것으로 보는 셈입니다. 시간 표현 자체보다 화자가 그 시간을 닫힌 것으로 취급하는지가 기준입니다.
조건 2 지금 상태와 연결되는가
시간 표현이 없을 때는 그 사건의 결과가 지금까지 남아 있는지 따집니다. I lost my wallet은 지갑을 잃어버린 사건을 보고할 뿐, 지금 찾았는지 못 찾았는지는 말하지 않습니다. I’ve lost my wallet은 아직 지갑이 없는 상태라는 뜻을 함께 전달합니다.
같은 구조가 여러 문장에서 반복됩니다. He went to Busan은 부산에 갔다는 사실만 말하지만, He has gone to Busan은 그가 지금 여기 없다는 의미를 담습니다. She broke her leg는 다리를 부러뜨린 일이 있었다는 보고이고, She has broken her leg는 지금도 그 상태라는 뉘앙스가 살아 있습니다.
이 차이 때문에 지금과 무관해진 일에 현재완료를 쓰면 어색합니다. 이미 지갑을 찾은 사람이 I’ve lost my wallet이라고 말하면 듣는 쪽은 아직 못 찾았다고 파악합니다. 상태가 끝났다면 I lost my wallet, but I found it처럼 과거시제로 정리합니다.
조건 3 경험을 말하는가, 사건을 말하는가

살면서 그런 일이 있었는지를 묻고 답할 때는 현재완료를 씁니다. 이때 관심사는 언제 일어났느냐가 아니라 경험의 유무 자체입니다. Have you been to Japan?은 일본에 가 본 적이 있느냐는 뜻이고, 상대가 언제 갔는지는 아직 묻지 않습니다.
반대로 구체적인 사건을 보고할 때는 과거시제로 넘어갑니다. 대화가 Have you been to Japan? Yes, I have.로 시작해 When did you go? I went last spring.으로 이어지는 흐름이 전형적입니다. 경험을 확인하는 단계에서는 현재완료, 그 사건의 시점과 세부를 말하는 단계에서는 과거시제입니다.
현재완료 경험 예문으로 확인하는 ever, never, before
경험을 말할 때 자주 붙는 단어가 ever, never, before, once, twice입니다. Have you ever eaten Indian food?는 인도 음식을 먹어 본 적이 있느냐는 질문이고, ever는 지금까지의 전 기간을 훑는 역할을 합니다. 대답은 I’ve never eaten it이나 I’ve eaten it twice처럼 횟수로 이어집니다.
before도 같은 자리에 들어갑니다. I’ve seen this movie before는 이 영화를 전에 본 적이 있다는 뜻으로, 언제 봤는지는 밝히지 않습니다. 여기에 시점을 넣어 I saw it last year라고 덧붙이면 그 부분은 과거시제가 됩니다. 같은 대화 안에서 두 시제가 자연스럽게 번갈아 나오는 이유입니다.
세 조건이 어긋날 때와 미국식 구어 예외
세 조건이 서로 다른 답을 가리키면 시간 표현을 먼저 봅니다. yesterday처럼 시점을 못 박는 부사가 있으면 결과가 남아 있어도 과거시제를 쓰는 것이 무난합니다. I lost my keys yesterday, and I still can’t find them처럼 뒤 문장으로 현재 상태를 따로 표현하면 됩니다.
just, already, yet은 지역과 말투에 따라 갈립니다. 격식체와 영국식 용법에서는 I’ve just finished, Have you eaten yet?처럼 현재완료가 기본이지만, 미국식 구어에서는 I just finished, Did you eat yet?도 널리 쓰입니다. 어느 쪽이 틀렸다기보다 격식 있는 글에서는 현재완료 쪽이 안전한 선택입니다.
실제로 문장을 쓸 때는 다음 순서로 확인해 보세요.
- 문장에 yesterday, last, ago, in 연도처럼 끝난 시점을 지정하는 표현이 있는지 확인합니다.
- 있으면 과거시제로 쓰고, 현재 상태는 필요할 때 별도 문장으로 덧붙입니다.
- 없으면 그 사건의 결과가 지금까지 이어지는지 판단합니다.
- 결과가 남아 있거나 경험 유무를 말하는 상황이면 have/has + 과거분사를 씁니다.
이 기준은 대부분의 평소 문장에서 통하지만, 문학적 서술이나 뉴스 헤드라인처럼 시제를 의도적으로 비트는 문맥에서는 그대로 적용되지 않을 수 있습니다. 판단이 서지 않을 때는 시간 표현을 문장에 넣어 보면 답이 빨리 나옵니다. yesterday를 붙였을 때 문장이 성립하면 과거시제 자리이고, 어색하다면 현재완료를 검토할 자리입니다.
함께 읽으면 좋은 글
- 현재완료 시제, 과거시제와 무엇이 다른가
- 영어교육과 진학 전 알아야 할 교육과정과 진로
- 국어 문법과 영어 문법, 공부 방법이 달라야 하는 이유
- 영어 문장 해석이 안 될 때 점검하는 세 가지
- 영문법에서 가장 많이 틀리는 전치사 in on at 차이
