과거완료는 과거 이야기 속에서 한 걸음 더 과거로 돌아가, 그보다 먼저 일어난 일을 말해요.
이번 레슨에서 배울 내용
과거완료는 과거의 일을 이야기하다가, 그보다 더 먼저 일어난 일로 한 걸음 거슬러 올라갈 때 써요. 학교에서는 “대과거”라고도 배워요. 한국어에는 이에 딱 맞는 시제가 따로 없어서, “제가 도착했을 때 기차는 이미 떠났어요”, “벌써 떠난 뒤였어요”처럼 “이미”, “벌써”, “-(으)ㄴ 뒤였어요”로 순서를 보여 줘요. 영어에서는 그 순서를 동사의 형태 had + 과거분사가 맡아요.
형태는 단순해요. 주어나 동사에 상관없이 항상 had + 과거분사예요: “the train had left”, “she had gone”, “I had been”. 문제는 과거분사예요. 불규칙 동사가 많아서(left, gone, eaten, seen) 과거형과 헷갈리기 쉬워요. had 뒤에는 과거형이나 동사원형이 아니라 과거분사가 와요: had eaten(had ate, had eat이 아니에요).
부정문과 의문문은 had 자체로 만들고 did는 쓰지 않아요: “I hadn't seen that film before last night.” “Had you ever visited Rome before that trip?” 부정의 not은 had 바로 뒤에 와요: hadn't seen.
과거시제 두 개로 말하면, 그 일들이 말한 순서대로 혹은 동시에 일어난 것으로 들려요. 특히 when과 함께 쓰면 뜻이 완전히 달라질 수 있어요. “When I arrived, the train left”는 제가 도착했을 때(또는 도착하자마자) 기차가 떠났다는 뜻이에요. 기차가 이미 떠난 뒤였다면 과거완료가 필요해요.
가장 흔한 함정은 “이미” + 과거형을 그대로 옮기는 거예요. 한국어로는 “도착했을 때 기차는 이미 떠났어요”가 아주 자연스럽지만, “When I arrived, the train already left”는 과거 이야기 속에서 먼저 일어난 일을 분명히 보여 주지 못해요. 먼저 일어난 일에는 had를 써요.
반대로 “-았/었었-”(“갔었어요”, “살았었어요”)을 이중 과거라고 생각해서 무조건 과거완료로 옮기는 실수도 있어요. “작년에 부산에 갔었어요”는 기준이 되는 다른 과거 시점이 없으니 그냥 과거시제예요: “I went to Busan last year.” “어제 전화했었어요”도 그냥 “I called you yesterday.”예요. 또 after나 before가 이미 순서를 보여 줄 때는 과거완료를 생략해도 돼요: “After I ate, I left”도 “After I had eaten, I left”와 똑같이 맞아요.
already(이미, 벌써), just(막 …한 참이었어요), never(한 번도 …한 적이 없었어요)는 과거완료와 자주 함께 써요. 위치에 주의하세요. 한국어는 “이미 떠났어요”처럼 부사가 동사 앞에 오지만, 영어는 had와 과거분사 사이에 와요: “had already left”, “had never seen”. “막 떠난 참이었어요”는 “had just left”예요. 한국어 “그 겨울 전에는 눈을 본 적이 없었어요”는 “I had never seen snow before that winter.”예요. “본 적이 없다”를 현재완료로만 외웠다면 have를 쓰기 쉬운데, 과거의 기준 시점까지의 경험이라 had예요.
by the time은 나중에 오는 기준 시점을 이끌어요. 한국어 “-(으)ㄹ 때쯤에는”, “-았/었을 때는 이미”에 해당해요: “우리가 도착했을 때는 가게들이 이미 문을 닫은 뒤였어요” → “By the time we got there, the shops had closed.” “-까지”를 보고 until을 쓰지 마세요. until은 그 시점까지 계속 이어진 일을 말해요(“I waited until six”).
과거시제 두 개로 말하면 도착한 그때 기차가 떠난 것처럼 들려요. 이미 떠난 뒤였다면 had로 먼저 일어난 일을 보여 줘요.
“기차는 이미 떠났어요”의 직역이에요. 과거의 기준 시점보다 먼저 일어난 일에는 had를 써요.
“갔었어요”가 이중 과거처럼 보여도, 비교할 다른 과거 시점이 없으면 그냥 과거시제예요.
부정문은 hadn't로 만들어요. did와 had를 함께 쓰지 않아요.
had 뒤에는 동사원형이 아니라 과거분사(see – saw – seen의 세 번째 형태)가 와요.
ate는 과거형이고 과거분사는 eaten이에요. 불규칙 동사는 eat – ate – eaten처럼 세 형태를 함께 외우세요.
“-까지”를 until로 옮긴 실수예요. 기준 시점 전에 이미 끝난 일은 by the time으로 말해요.
한국어는 “이미”, “벌써” + 과거형으로 먼저 일어난 일을 말해요: “도착했을 때 기차는 이미 떠났어요”
영어로 그대로 옮긴 “When I arrived, the train already left.”는 과거 이야기에서 순서를 분명히 보여 주지 못해요. 과거의 기준 시점보다 먼저 일어난 일은 had + 과거분사로 말해요: “When I arrived, the train had already left.” 한국어로 “-(으)ㄴ 뒤였어요”(“떠난 뒤였어요”)라고 바꿔 말할 수 있다면 영어는 과거완료일 가능성이 높아요.
“-았/었었-”(“갔었어요”, “살았었어요”)은 지금은 그렇지 않은 과거의 일이나 경험을 말할 때 자주 써요
모양이 이중 과거 같아도 영어 과거완료와 같은 게 아니에요. 다른 과거 시점과 비교하는 게 아니라면 과거시제로 충분해요: “작년에 부산에 갔었어요” → “I went to Busan last year.” “I had gone to Busan last year.”라고 하면 뒤에 기준이 되는 과거 시점이 있어야 해요.
경험은 “-(으)ㄴ 적이 있었어요 / 없었어요”로 말해요: “그때까지 외국에 가 본 적이 없었어요”
과거의 어느 시점까지의 경험이라면 had + 과거분사예요: “I had never been abroad before that trip.”, “Had you ever been abroad before that trip?” 지금까지의 경험인 현재완료(have never been)와 달리, 기준이 과거라서 have가 아니라 had를 써요.
“-까지”는 until로도, by로도 옮길 수 있어요: “여섯 시까지 기다렸어요”, “우리가 도착할 때까지는 이미 끝나 있었어요”
until은 그 시점까지 계속 이어진 일이에요: “I waited until six.” 기준 시점 전에 이미 끝난 일은 by the time + 과거완료예요: “By the time we arrived, the party had already started.” “Until we arrived, the party had started.”는 틀린 문장이에요.
한국어는 “이미 떠났어요”, “한 번도 못 봤어요”, “안 끝냈어요”처럼 부사와 부정어가 동사 앞에 와요
영어는 already, never, just가 had와 과거분사 사이에 와요: “had already left”, “had never seen”, “had just arrived”. 부정의 not도 had 바로 뒤예요: “I hadn't finished”(또는 “I had not finished”). “I didn't had finished”처럼 did와 had를 함께 쓰지 않아요.
💡 한국어로 “이미 …한 뒤였어요”라고 바꿔 말할 수 있다면 영어는 had + 과거분사예요.
💡 already, never, just는 had와 과거분사 사이에: had already left.
💡 부정문은 hadn't + 과거분사. didn't had라고 하지 않아요.
💡 “우리가 도착했을 때는 이미…” = By the time we arrived, … had …
"What happened at the airport?"
"By the time we got to the gate, the plane had already taken off."
"Oh no! Had you checked in online?"
"We had, but the traffic on the way there was terrible."
연습 문제 1 · 바른 문장을 고르세요
Choose the correct sentence.
연습 문제 2 · 먼저 일어난 일을 고르세요
Which action happened FIRST in this sentence: 'She had finished dinner when I called.'?
연습 문제 3 · 바른 문장을 고르세요
Choose the correct sentence.
연습 문제 4 · 알맞은 질문을 고르세요
Choose the correct question.
연습 문제 5 · 바른 문장을 고르세요
Choose the correct sentence.
연습 문제 6 · 바른 문장을 고르세요
Choose the correct sentence.
연습 문제 7 · 과거완료와 자주 함께 쓰는 말을 고르세요
Which word often signals the need for past perfect?
연습 문제 8 · 바른 문장을 고르세요
Choose the correct sentence.
연습 문제 9 · 과거완료로 문장을 완성하세요
Complete: 'They ___ (already/leave) when we got there.' (past perfect)
연습 문제 10 · 과거완료 부정문으로 문장을 완성하세요
Complete: 'I ___ (not/finish) my homework when my friend arrived.' (negative, past perfect)
연습 문제 11 · 먼저 일어난 일과 나중에 일어난 일로 나누세요
0 / 6 분류 완료
연습 문제 12 · 자주 하는 실수: “이미” + 과거형의 직역
Korean: “제가 도착했을 때 기차는 이미 떠났어요.” (the train left before I arrived) Which English sentence is correct?
다양한 유형의 다섯 문제로 배운 내용을 확인해 보세요.
문제 1 / 5
점수: 0/0
Choose the correct sentence.
과거의 습관을 나타내는 would
“어릴 때 자주 ~하곤 했어요”를 영어로는 would로 말할 수 있어요. 반복된 동작에만 쓰는 이유, used to와의 차이, 가정법 would와 구별하는 법을 한국어 “-곤 했어요”와 비교하며 익혀 보세요.
Used to: 예전의 습관과 상태
used to로 지금은 하지 않는 예전의 습관과 상태를 말해요. 긍정문, didn't use to 부정문, Did … use to 의문문과 be used to(-에 익숙하다)와의 차이를 예문으로 배워요.
과거완료진행형(past perfect continuous)
과거완료진행형(had been + -ing)으로 과거의 어느 시점까지 어떤 일이 얼마나 오래 이어지고 있었는지 말해요. “한 시간째 기다리고 있었어요”를 영어로 옮기는 법과 과거완료와의 차이를 익혀 보세요.
과거진행형(past continuous)
과거진행형(was/were + -ing)으로 과거의 한 시점에 진행 중이던 일, 이야기의 배경, 중간에 끊긴 동작을 말해요. “알고 있었어요”를 was knowing으로 쓰면 안 되는 이유도 배워요.