과거완료진행형(past perfect continuous)

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

과거완료진행형은 과거의 어느 시점까지 어떤 일이 얼마나 이어지고 있었는지 말해요. 한국어 “한 시간째 기다리고 있었는데…”가 딱 이 시제예요.

이번 레슨에서 배울 내용

  • 형태: had been + 동사-ing(I had been working, she had been waiting)
  • 과거의 어느 시점까지 이어진 동작의 길이를 강조해요
  • 과거의 어떤 상황이 생긴 이유를 설명할 때 자주 써요
  • 부정문은 hadn't been + -ing, 의문문은 Had + 주어 + been + -ing

과거의 어느 시점까지 이어진 시간

과거완료진행형은 과거의 다른 시점 전까지 어떤 동작이 얼마나 오래 이어지고 있었는지 보여 줘요. 중요한 건 일이 끝났다는 사실보다 그 길이나 과정이에요.

한국어로는 “버스가 드디어 왔을 때 한 시간째 기다리고 있었어요”, “한 시간 동안 기다리고 있었는데 버스가 왔어요”처럼 말해요. 영어로는 “I had been waiting for an hour when the bus finally came.”이라고 해요. had(기준 시점보다 더 전부터) + been + waiting(계속 이어진 동작) + for an hour(기간)로 나누어 생각하면 쉬워요. “-고 있었어요”만 보고 “I was waiting”이라고 하면, 그 전부터 이어진 길이가 잘 드러나지 않아요.

“부터”, “전부터”에 주의하세요. 기간 앞에는 for를 써요(for an hour, for two years). since는 since 8 o'clock, since Monday처럼 시작된 시점과 함께만 써요. “한 시간 전부터”를 “since one hour”나 “for an hour ago”로 옮기지 마세요.

"I had been waiting for an hour when the bus finally came."
"She had been studying for three hours before the test."

과거의 결과가 생긴 이유 설명하기

이 시제는 과거의 어느 순간에 왜 그런 상태였는지 설명할 때 아주 자주 써요. 그 전까지 이어지던 동작이 원인이에요. 그 동작이 완전히 끝나지 않았거나 막 끝나서 흔적이 남아 있을 때가 많아요.

한국어로는 “계속 뛰어서 지쳐 있었어요”, “비가 와서 땅이 젖어 있었어요”처럼 “-아서/어서”로 이유를 말해요. 원인이 한동안 이어진 활동이라면 영어는 과거완료진행형이 자연스러워요: “He was exhausted because he had been running.” “The ground was wet because it had been raining.”

"He was exhausted because he had been running."
"The ground was wet because it had been raining."

과거완료진행형일까, 과거완료일까?

길이나 과정이 중요하면 진행형을 써요. 일이 끝났다는 사실, 특히 결과나 양(the whole book, three chapters)이 중요하면 과거완료(had + 과거분사)를 써요.

중요한 제한이 하나 있어요. know, own, believe, be 같은 상태동사는 보통 -ing로 쓰지 않아요. 한국어로는 “몇 년 동안 알고 지냈어요”처럼 “-고”를 쓰지만, 영어는 길이를 말할 때도 “I had known him for years”예요. “I had been knowing him”이 아니에요.

형태에도 주의하세요. 이 시제에서 had been 뒤에는 항상 동사-ing가 와요. had been + 과거분사(had been closed, had been stranded)는 수동태나 상태를 나타내는 다른 구조예요.

"She had been reading for two hours. (지속 시간이 중요해요)"
"She had read the whole book. (다 읽었다는 사실이 중요해요)"

실생활 영어 표현

"I had been feeling unwell for days before I finally saw a doctor."
"They had been dating for a year before they got engaged."
"How long had you been living there before you moved?"
"We were tired because we had been traveling all day."

주의하세요

✗I was waiting since one hour when the bus came.
✓I had been waiting for an hour when the bus came.

“한 시간째 기다리고 있었어요”는 과거완료진행형으로 말해요. 기간 앞에는 since가 아니라 for를 써요.

✗He had been ran for an hour.
✓He had been running for an hour.

과거완료진행형에서 had been 뒤에는 -ing 형태가 와요. had been + 과거분사(had been closed)는 수동태 같은 다른 구조예요.

✗They didn't been sleeping well.
✓They hadn't been sleeping well.

부정문은 hadn't로 만들어요. 이 시제에는 did가 들어가지 않아요.

✗How long you had been living there?
✓How long had you been living there?

의문문에서는 had가 주어 앞에 와요. 한국어처럼 어순을 그대로 두면 안 돼요.

✗They had been stranded for six hours ago.
✓They had been stranded for six hours.

“여섯 시간 전부터”를 옮긴 실수예요. for + 기간에는 ago를 붙이지 않아요.

✗I had been knowing him for years.
✓I had known him for years.

“알고 지냈어요”의 “-고”를 진행형으로 옮기지 마세요. know는 상태동사라서 과거완료로 말해요.

한국어와 비교해 보기

“버스가 왔을 때 한 시간째 기다리고 있었어요”처럼 한국어는 “-째”나 “동안” + “-고 있었어요”로 말해요

뜻은 영어 과거완료진행형과 똑같아서 도움이 돼요. 하지만 영어는 과거진행형만으로는 부족하고 had been + -ing가 필요해요: “I had been waiting for an hour when the bus came.” “I was waiting since one hour when the bus came.”은 시제와 since 두 군데가 틀렸어요.

“한 시간 전부터”, “여섯 시간 전부터”처럼 한국어는 “… 전부터”로 길이를 말하기도 해요

영어는 기간을 for로 말하고 ago를 붙이지 않아요: “They had been stranded for six hours.” “since six hours”나 “for six hours ago”는 틀린 문장이에요. 시작 시각을 말하고 싶다면 since를 써요: “since three o'clock”(“from three o'clock”이 아니에요).

학교에서 배운 “과거완료 + 진행형”의 조합

had(과거완료) + been + -ing(진행형)로 조각을 맞추면 형태를 쉽게 기억할 수 있어요. 부정문과 의문문은 had로 만들어요: hadn't been…, Had you been…? did나 didn't는 쓰지 않아요. 영어에서 이 시제는 딱딱한 표현이 아니라, 과거 이야기에서 길이를 말할 때 흔히 쓰는 형태예요.

“거기서 얼마나 살고 있었어요?”처럼 한국어 의문문은 어순이 바뀌지 않아요

영어는 How long으로 시작하고 had가 주어 앞으로 나와요: “How long had you been living there?” “How long you had been living there?”는 틀린 문장이에요. “얼마나”를 How much time으로 옮기기보다 How long을 쓰는 게 자연스러워요.

💡 과거 이야기에서 “N째 …하고 있었어요” → had been + -ing + for/since.

💡 기간은 for(for an hour), 시작 시점은 since(since Monday). “… 전부터”를 옮길 때 ago를 붙이지 마세요.

💡 길이나 과정이 중요하면 과거완료진행형, 끝났다는 사실이 중요하면 과거완료예요.

실생활 상황: 늦은 이유 설명하기

"Sorry I'm late — when the bus finally came, I had been waiting for forty minutes!"

"That's awful. Had you been standing in the rain the whole time?"

"Yes, so by the time I got on, I was completely soaked."

"You should have taken a taxi."

연습

연습 문제 1 · 바른 문장을 고르세요

Choose the correct sentence.

연습 문제 2 · 동작의 길이를 강조하는 문장을 고르세요

Which sentence emphasizes the DURATION of an action up to a past point?

연습 문제 3 · 바른 문장을 고르세요

Choose the correct sentence.

연습 문제 4 · 바른 부정문을 고르세요

Choose the correct negative.

연습 문제 5 · 알맞은 질문을 고르세요

Choose the correct question.

연습 문제 6 · 바른 문장을 고르세요

Choose the correct sentence.

연습 문제 7 · 형태가 바른 것을 고르세요

Which is formed correctly?

연습 문제 8 · 바른 문장을 고르세요

Choose the correct sentence.

연습 문제 9 · 과거완료진행형으로 문장을 완성하세요

Complete: 'She ___ (wait) for two hours when he finally arrived.' (past perfect continuous)

연습 문제 10 · 과거완료진행형 의문문을 완성하세요

Complete: 'How long ___ (you/learn) English before you moved abroad?' (question)

연습 문제 11 · 과거완료진행형과 과거완료로 나누세요

had been working
had worked
had been living
had lived
had been studying
had studied

0 / 6 분류 완료

연습 문제 12 · 자주 하는 실수: “한 시간째 기다리고 있었어요”의 직역

Korean: “버스가 드디어 왔을 때 저는 한 시간째 기다리고 있었어요.” Which English sentence is correct?

빠른 도전

짧은 다섯 문제로 배운 내용을 확인해 보세요.

문제 1 / 5

점수: 0/0

Choose the correct sentence.

배운 내용

  • 과거완료진행형은 had been + 동사-ing로 만들어요.
  • 과거의 어느 시점까지 이어진 동작의 길이를 강조해요.
  • 과거의 어떤 상황이 생긴 이유를 설명할 때 자주 써요.
  • “한 시간째 기다리고 있었는데…” = I had been waiting for an hour when…: since가 아니라 for예요.
  • 끝났다는 사실만 중요하거나 know 같은 상태동사라면 과거완료를 써요.
이 카테고리의 레슨 모두 보기