과거완료(past perfect)

B1 · 중급과거를 나타내는 시제

과거완료는 과거 이야기 속에서 한 걸음 더 과거로 돌아가, 그보다 먼저 일어난 일을 말해요.

이번 레슨에서 배울 내용

  • 형태: had + 과거분사(I had finished, she had left). 모든 주어와 동사에 had 하나만 써요
  • 쓰임: 과거의 어느 시점보다 먼저 일어난 일을 말할 때
  • 자주 함께 쓰는 말: already, just, never, by the time과 문장 속 위치
  • 부정문은 hadn't, 의문문은 Had + 주어 + 과거분사

과거보다 더 이전의 과거

과거완료는 과거의 일을 이야기하다가, 그보다 더 먼저 일어난 일로 한 걸음 거슬러 올라갈 때 써요. 학교에서는 “대과거”라고도 배워요. 한국어에는 이에 딱 맞는 시제가 따로 없어서, “제가 도착했을 때 기차는 이미 떠났어요”, “벌써 떠난 뒤였어요”처럼 “이미”, “벌써”, “-(으)ㄴ 뒤였어요”로 순서를 보여 줘요. 영어에서는 그 순서를 동사의 형태 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 I arrived, the train had already left."
"She had finished dinner by the time I called."

일의 순서를 분명히 하기

과거시제 두 개로 말하면, 그 일들이 말한 순서대로 혹은 동시에 일어난 것으로 들려요. 특히 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”와 똑같이 맞아요.

"When I arrived, the train left. (뜻: 제가 도착했을 때 기차가 떠났어요 – 거의 동시에)"
"When I arrived, the train had 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”).

"I had never seen snow before that winter."
"By the time we got there, the shops had closed."

실생활 영어 표현

"She had already eaten by the time I got home."
"I hadn't realized how late it was."
"Had you ever been abroad before that trip?"
"By the time the ambulance arrived, he had recovered."

주의하세요

✗When I arrived, the train left.
✓When I arrived, the train had left.

과거시제 두 개로 말하면 도착한 그때 기차가 떠난 것처럼 들려요. 이미 떠난 뒤였다면 had로 먼저 일어난 일을 보여 줘요.

✗When I arrived, the train already left.
✓When I arrived, the train had already left.

“기차는 이미 떠났어요”의 직역이에요. 과거의 기준 시점보다 먼저 일어난 일에는 had를 써요.

✗I had gone to Busan last year.
✓I went to Busan last year.

“갔었어요”가 이중 과거처럼 보여도, 비교할 다른 과거 시점이 없으면 그냥 과거시제예요.

✗I didn't had seen that film before.
✓I hadn't seen that film before.

부정문은 hadn't로 만들어요. did와 had를 함께 쓰지 않아요.

✗He had never see snow before.
✓He had never seen snow before.

had 뒤에는 동사원형이 아니라 과거분사(see – saw – seen의 세 번째 형태)가 와요.

✗He had never ate sushi before that day.
✓He had never eaten sushi before that day.

ate는 과거형이고 과거분사는 eaten이에요. 불규칙 동사는 eat – ate – eaten처럼 세 형태를 함께 외우세요.

✗Until we got there, the shops had closed.
✓By the time we got there, the shops had closed.

“-까지”를 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 · 먼저 일어난 일과 나중에 일어난 일로 나누세요

had left
left
had eaten
ate
had finished
finished

0 / 6 분류 완료

연습 문제 12 · 자주 하는 실수: “이미” + 과거형의 직역

Korean: “제가 도착했을 때 기차는 이미 떠났어요.” (the train left before I arrived) Which English sentence is correct?

빠른 도전

다양한 유형의 다섯 문제로 배운 내용을 확인해 보세요.

문제 1 / 5

점수: 0/0

Choose the correct sentence.

배운 내용

  • 과거완료 = had + 과거분사. 모든 주어에 had 하나만 써요.
  • 과거의 어느 시점보다 먼저 일어난 일을 말해요. 한국어 “이미 …한 뒤였어요”에 가까워요.
  • when과 함께 쓰면 had가 순서를 정해요. after나 before가 있으면 생략해도 될 때가 많아요.
  • already, never, just는 had와 과거분사 사이에 와요. by the time은 “-했을 때는 이미”예요.
  • 부정문은 hadn't, 의문문은 Had…?로 만들고 did와 섞지 않아요. “갔었어요”가 모두 과거완료는 아니에요. 불규칙 과거분사에도 주의하세요.
이 카테고리의 레슨 모두 보기