OpenTOEIC
로그인무료로 회원가입회원가입
전체 문법 주제
동사와 시제중급

과거완료

Past perfect

과거완료는 과거의 어느 시점이나 다른 과거 사건보다 먼저 일어나 완료된 일을 나타냅니다. 진행형은 그 과거 시점까지 이어진 과정을 강조합니다.

60문제 풀기

형태

had는 모든 주어(단수, 복수)에 씁니다. 축약형 'd(she'd left)는 would와 혼동하기 쉬우니 뒤의 동사를 보세요: 'd + V3는 had, 'd + 동사원형은 would입니다.

형태과거완료과거완료진행
긍정문S + had + V3/edS + had + been + V-ing
부정문S + had not (hadn't) + V3S + hadn't + been + V-ing
의문문Had + S + V3?Had + S + been + V-ing?

과거완료의 쓰임

  • 과거의 다른 사건보다 먼저 일어난 일(나중 사건은 과거시제).
  • 과거의 특정 시점 이전에 완료된 일: by + 과거 시점, by the time + 과거시제.
  • 과거의 어느 시점까지의 경험: It was the first time she had visited Tokyo.
  • 전달 동사가 과거인 간접화법에서: He said that he had sent the file.
  • 가정법 과거완료(3형식 조건문)와 과거에 대한 wish에서: If we had known, we would have called.
예문
  • When I got to the airport, the flight had already departed.제가 공항에 도착했을 때 비행기는 이미 출발한 뒤였습니다.
  • By the time the auditors arrived, the accountant had prepared all the documents.감사관들이 도착했을 때쯤 회계 담당자는 모든 서류를 준비해 둔 상태였습니다.
  • By the end of 2022, the firm had expanded into five new markets.2022년 말까지 그 회사는 다섯 개의 새로운 시장으로 진출했습니다.
  • Ms. Rossi had never managed a team before she joined our company.Rossi 씨는 저희 회사에 입사하기 전에는 팀을 관리해 본 적이 없었습니다.

before, after, when, by the time

  • before/after는 접속사만으로 순서가 분명하므로 두 절 모두 과거시제를 써도 됩니다: After she signed the contract, she left. 과거완료는 완료되었음을 강조합니다.
  • 비교: When I arrived, they left(내가 도착하자 그들이 떠났다)와 When I arrived, they had left(내가 도착하기 전에 그들은 이미 떠났다).
접속사자주 쓰는 구조비고
beforeS + had V3 + before + S + V2먼저 일어난 일에 had V3
afterAfter + S + had V3, S + V2먼저 일어난 일이 after 뒤에 옴
whenWhen + S + V2, S + had V3"그때 이미 다른 일이 끝나 있었다"는 뜻
by the timeBy the time + S + V2, S + had V3Part 5에 매우 자주 출제
untilS + hadn't V3 + until + S + V2~할 때까지 ~하지 않았다

과거완료, 과거시제, 현재완료 중 무엇을 고를까?

이 세 시제는 선택지에 나란히 나오는 경우가 많습니다. 고르는 방법은 문장의 기준 시점을 정하는 것입니다: 기준이 지금이면 현재완료, 기준이 과거의 한 시점이면 그보다 먼저 일어난 일은 과거완료, 그 과거 시점에 그냥 일어난 일은 과거시제를 씁니다.

  • 기준 시점이 과거이면 since도 과거완료와 함께 쓸 수 있습니다: had worked here since 2010(2024년까지).
  • 문장에 과거의 일이 하나뿐이고 다른 기준 시점이 없으면 과거완료를 쓰지 않습니다: The company had opened in 1990은 부자연스럽고 opened면 충분합니다.
  • Part 6에서 지문 전체가 과거시제로 서술되는데 골라야 할 문장이 그보다 더 이전에 일어난 일을 말하면, 그때 had + V3를 씁니다.
기준 시점시제예문
지금 (since, so far, to date)현재완료Ms. Tran has worked here since 2010.
과거의 한 시점, 그 전부터 이어졌거나 그 전에 일어난 일과거완료When Ms. Tran retired in 2024, she had worked here since 2010.
과거 시점에, 그 전에 일어난 다른 일이 없음과거시제Ms. Tran retired in 2024.
by + 현재 시점현재완료By now, most guests have checked in.
by + 과거 시점과거완료By noon yesterday, most guests had checked in.
예문
  • By the time the new CEO took over, the company had already lost two major clients.새 최고경영자가 취임했을 때 회사는 이미 주요 고객 두 곳을 잃은 상태였습니다.
  • The warehouse was empty because the last shipment had left the day before.마지막 화물이 전날 이미 출발했기 때문에 창고는 비어 있었습니다.

과거완료진행

had been + V-ing는 과거의 어느 시점까지(또는 그 직전까지) 오래 이어진 활동을 강조할 때 씁니다. 보통 for/since와 함께 쓰거나, 과거의 어떤 상태가 생긴 원인을 설명할 때 씁니다.

예문
  • The company had been operating at a loss for two years before it was acquired.그 회사는 인수되기 전까지 2년 동안 적자로 운영되어 왔습니다.
  • The staff were tired because they had been preparing for the trade show all week.직원들은 일주일 내내 무역 박람회를 준비해 왔기 때문에 지쳐 있었습니다.

과거완료 수동태: had been + V3

주어가 동작을 받는 사물이나 일이고 그 일이 과거의 한 시점보다 먼저 완료되었으면 had been + V3를 씁니다. 이 형태는 Part 5에서 had, has been, was being 같은 오답 선택지와 함께 자주 나옵니다.

S + had been + V3 (+ by + 행위자)
  • 빈칸 뒤에 목적어가 없고 주어가 사물인 경우: By the time we arrived, all the tickets ------- → had been sold.
  • 능동 had + V3와 구별하세요: The manager had approved the plan(승인한 사람이 주어)과 The plan had been approved(계획이 승인됨).
  • 자주 나오는 표현: had already been sent, had been cancelled, had been postponed, had been scheduled for, had not yet been confirmed.
예문
  • The order had already been shipped when the customer called to cancel it.고객이 취소하려고 전화했을 때 주문 상품은 이미 발송된 상태였습니다.
  • The flight had been delayed twice before it was finally cancelled.그 항공편은 결국 취소되기 전에 두 번 지연되었습니다.

도치: No sooner / Hardly

격식체에서는 "~하자마자 ~했다"를 도치로 표현합니다. 앞 절은 과거완료의 조동사를 주어 앞으로 도치하고, 뒤 절은 과거시제를 씁니다.

No sooner + had + S + V3 + than + S + V2Hardly/Scarcely + had + S + V3 + when + S + V2
예문
  • No sooner had the store opened than customers rushed in.매장이 문을 열자마자 손님들이 몰려들었습니다.
  • Hardly had we launched the campaign when orders began to rise.저희가 캠페인을 시작하자마자 주문이 늘기 시작했습니다.

Had hoped, had expected, had intended: 이루어지지 않은 계획

기대, 의도를 나타내는 동사(hope, expect, intend, plan, mean, want)의 과거완료는 말하는 사람이 바랐거나 계획했지만 결국 일어나지 않은 일을 나타냅니다. 이 문형은 Part 6, Part 7의 사과 이메일과 일정 변경 공지에 매우 자주 나옵니다.

S + had hoped/expected/intended/planned + to V, but ...
  • 뒤따르는 절에는 계획이 바뀐 이유를 밝히는 but, however, unfortunately가 흔히 옵니다.
  • was/were going to + V와 뜻이 비슷하지만 더 격식 있고 아쉬움을 강조합니다.
  • 비교 표현에서 lower than we had expected는 결과가 이전의 기대보다 낮았다는 뜻이지, 결과가 높았다는 뜻이 아닙니다.
예문
  • We had hoped to complete the renovation by March, but the materials arrived late.저희는 3월까지 보수 공사를 마치기를 바랐지만 자재가 늦게 도착했습니다.
  • The team had intended to launch the app in spring; however, testing took longer than expected.팀은 봄에 앱을 출시할 계획이었지만, 테스트가 예상보다 오래 걸렸습니다.
  • Attendance at the fair was lower than the organizers had expected.박람회 방문객 수는 주최 측이 예상했던 것보다 적었습니다.

토익 풀이 팁

  1. 단골 출제 패턴: By the time + S + V2(과거시제), S + had + V3. 예: By the time the manager arrived, the meeting ______ already → had ended를 고릅니다. 반대로 by the time + 현재시제이면 주절에 will have V3를 씁니다(미래 단원 참고).
  2. By + 과거 시점(by last Friday, by the end of 2022, by then)도 과거완료의 단서입니다: By the end of last year, we had opened four branches.
  3. 문장에 과거의 두 사건이 있으면 먼저 일어난 일에 had V3를 씁니다. 힌트가 되는 표현: before, after, already, just, never ... before, until, when.
  4. Part 6에서 지문이 과거시제로 서술되는데, 고를 문장이 그보다 먼저 일어난 일(예: 가격 인상 전에 고객이 주문한 일)을 언급하면 정답은 had + V3입니다.

자주 하는 실수

오답: By the time we arrived, the presentation already finished.

정답: By the time we arrived, the presentation had already finished.

by the time + 과거시제 → 주절은 과거완료를 씁니다.

오답: She told me she has sent the invoice.

정답: She told me she had sent the invoice.

과거의 간접화법에서 그보다 먼저 일어난 일은 had V3로 시제를 일치시킵니다.

오답: No sooner had the meeting started when the power went out.

정답: No sooner had the meeting started than the power went out.

no sooner는 than과, hardly/scarcely는 when과 함께 씁니다.

오답: We had been knowing the supplier for years.

정답: We had known the supplier for years.

상태동사는 진행형으로 쓰지 않습니다.

정답이 있는 연습 문제

  1. 1.By the time the auditors arrived, the accountant ------- all the receipts.

    1. (A) organizes
    2. (B) has organized
    3. (C) had organized
    4. (D) was organized
    정답과 해설 보기

    정답: (C) had organized

    By the time + 과거 시제가 있으므로 먼저 일어난 동작은 과거완료 시제 had organized로 씁니다. has organized는 현재완료이고, was organized는 수동태인데 뒤에 목적어가 있으므로 틀립니다.

  2. 2.The flight ------- when we reached the gate, so we had to book another one.

    1. (A) has already departed
    2. (B) already departs
    3. (C) is already departing
    4. (D) had already departed
    정답과 해설 보기

    정답: (D) had already departed

    비행기가 우리가 게이트에 도착하기(reached) 전에 떠났으므로 과거완료 시제 had already departed가 정답입니다. 나머지 보기는 현재 시제입니다.

  3. 3.By the end of last year, Monarch Retail ------- twelve new stores across the Midwest.

    1. (A) has opened
    2. (B) had opened
    3. (C) opens
    4. (D) will have opened
    정답과 해설 보기

    정답: (B) had opened

    By the end of last year는 과거의 시점이므로 그 전에 완료된 일은 had opened를 씁니다. has opened와 opens는 시제가 틀렸고, will have opened는 미래 시점에 씁니다.

  4. 4.The conference room was empty because the meeting ------- an hour earlier.

    1. (A) ends
    2. (B) has ended
    3. (C) is ending
    4. (D) had ended
    정답과 해설 보기

    정답: (D) had ended

    회의가 방이 비어 있던 시점(was empty)보다 먼저 끝났고 an hour earlier가 있으므로 had ended가 정답입니다. has ended는 현재를 기준으로 합니다.

  5. 5.Ms. Clark ------- for the company for twenty years when she retired in 2024.

    1. (A) has worked
    2. (B) had worked
    3. (C) works
    4. (D) is working
    정답과 해설 보기

    정답: (B) had worked

    기간(for twenty years)이 과거의 한 시점(retired in 2024)까지 이어지므로 had worked가 정답입니다. has worked는 현재까지 이어지는 경우에만 씁니다.

  6. 6.The quarterly report ------- by the time the board members met on Thursday morning.

    1. (A) had been finalized
    2. (B) had finalized
    3. (C) has been finalized
    4. (D) is finalized
    정답과 해설 보기

    정답: (A) had been finalized

    보고서는 by the time the board members met이라는 시점 전에 완성되었으므로 과거완료 수동태 had been finalized를 씁니다. had finalized는 능동태이고, has been finalized와 is finalized는 시제가 틀렸습니다.

  7. 7.Fairmont Textiles ------- money for three consecutive years before a new CEO turned the business around.

    1. (A) has been losing
    2. (B) is losing
    3. (C) had been losing
    4. (D) loses
    정답과 해설 보기

    정답: (C) had been losing

    for three consecutive years 동안 이어진 활동이 과거 시점 before a new CEO turned까지 계속되었으므로 had been losing을 씁니다. has been losing은 현재까지 이어지는 일이고, is losing과 loses는 시제가 틀렸습니다.

  8. 8.The sales team was disappointed because they ------- to close the deal before the end of the quarter.

    1. (A) had expected
    2. (B) expect
    3. (C) have expected
    4. (D) are expecting
    정답과 해설 보기

    정답: (A) had expected

    기대한 일이 과거의 실망(was disappointed)보다 먼저 있었으므로 had expected가 정답입니다. 현재 시제는 주절과 맞지 않습니다.

  9. 9.No sooner had the shuttle left the hotel ------- it started to rain heavily.

    1. (A) than
    2. (B) when
    3. (C) then
    4. (D) that
    정답과 해설 보기

    정답: (A) than

    No sooner는 항상 than과 짝을 이룹니다. when은 hardly/scarcely와 쓰고, then과 that은 이 구문에 속하지 않습니다.

  10. 10.Hardly had the technicians restarted the servers ------- the whole booking system crashed again.

    1. (A) than
    2. (B) when
    3. (C) then
    4. (D) so
    정답과 해설 보기

    정답: (B) when

    Hardly/Scarcely는 when과 짝을 이룹니다. than은 no sooner와 쓰고, then과 so는 이 구문에 속하지 않습니다.

연습 문제

Part 5 유형 60문제를 한 문제씩 풀고, 답할 때마다 바로 해설을 확인해요.

연습 시작

자주 묻는 질문

과거완료는 언제 쓰나요?

과거완료(past perfect)는 과거의 다른 일이나 시점보다 먼저 일어나 완료된 일에 씁니다. 먼저 일어난 일은 had + V3, 나중에 일어난 일은 과거시제를 씁니다: When I got to the airport, the flight had already departed. 이 시제는 간접화법, 가정법 과거완료(3형 조건문), 과거에 대한 wish 뒤에도 나옵니다.

과거완료의 공식은 무엇인가요?

긍정문: S + had + V3/ed, 부정문: S + had not (hadn't) + V3, 의문문: Had + S + V3?. Had는 모든 주어에 쓰며 단수, 복수에 따라 바뀌지 않습니다. 수동태는 had been + V3, 진행형은 had been + V-ing입니다.

과거완료는 과거시제와 어떻게 다른가요?

과거시제는 과거의 한 시점에 일어난 일을 말하고, 과거완료는 한 단계 더 거슬러 올라가 그 시점 이전에 일어난 일을 말합니다. When I arrived, they left(내가 도착했을 때 그들이 떠났다)와 When I arrived, they had left(내가 도착하기 전에 그들은 이미 떠났다)를 비교해 보세요. 문장에 과거의 일이 하나뿐이면 과거시제로 충분합니다.

before와 after 뒤에는 꼭 과거완료를 써야 하나요?

꼭 그렇지는 않습니다. before와 after가 이미 두 일의 순서를 알려 주므로 두 절 모두 과거시제를 써도 맞습니다: After she signed the contract, she left. 앞선 일이 완료되었음을 강조하고 싶을 때 과거완료를 씁니다: After she had signed the contract, she left. 반대로 when과 by the time은 시제에 따라 순서가 정해지므로 had + V3를 정확히 골라야 합니다.

By the time은 어떤 시제와 쓰나요?

시점에 따라 다릅니다. By the time + 과거시제이면 주절에 과거완료를 씁니다: By the time the auditors arrived, we had prepared all the documents. By the time + 현재시제(미래를 말할 때)이면 주절에 미래완료를 씁니다: By the time you receive this letter, the policy will have taken effect. by the time 절에는 will을 쓰지 않습니다.

과거완료진행은 과거완료와 어떻게 다른가요?

had been + V-ing는 과거의 한 시점까지 이어진 활동을 강조하며, 보통 for나 since와 함께 쓰거나 어떤 상태의 원인을 설명합니다: The staff were tired because they had been preparing for the trade show all week. had + V3는 완료된 일이나 끝난 수량을 강조합니다: They had prepared three booths.