영어>고급 1>29. 가정법 과거와 과거완료
개념 정리

가정법 과거와 과거완료

단원 개요
현재 사실의 반대를 상상하는 가정법 과거(were / 과거동사)와 과거 사실의 반대를 후회하는 가정법 과거완료(had p.p.), 혼합가정법, Without 도치 구문을 완벽히 마스터합니다.
선수 개념
필수 키워드:에 따라iswill go현재 사실의 반대 상상'가정법 과거(과거동사 / were)'과거 사실의 반대 후회'가정법 과거완료(had + p.p.)'가정법 과거현재 사실의 반대If + S + 과거동사
1

직설법(실현 가능한 조건) vs 가정법(반사실적 상상·후회)의 시제 후퇴 원리

영어에서 If가 이끄는 문장은 화자가 그 상황을 '충분히 일어날 수 있는 현실(Fact/Open Condition)'로 보느냐, 아니면 '이미 사실과 반대되는 불가능한 상상·후회(Counterfactual)'로 보느냐에 따라 직설법(Indicative)과 가정법(Subjunctive)으로 완전히 갈라집니다.

•
직설법 조건문 (현재·미래에 충분히 일어날 수 있는 일): If절에 현재 시제 →\rightarrow 주절에 will/can + 동사원형
•
If it is sunny tomorrow, we will go hiking. (내일 날씨가 맑을 수도 있고 아닐 수도 있음 — 50:50 가능성)
•
가정법의 핵심 원리 (시제 한 단계 후퇴, Backshift):

현실과 정반대되는 상상을 할 때는, 그것이 실제 현실이 아니라는 심리적 거리감을 표시하기 위해 실제 시점보다 동사 시제를 과거로 한 칸씩 뒤로 물려서(후퇴시켜서) 적습니다!

1
현재 사실의 반대 상상 →\rightarrow 현재보다 한 칸 뒤인 '가정법 과거(과거동사 / were)' 사용!
2
과거 사실의 반대 후회 →\rightarrow 과거보다 한 칸 더 뒤인 '가정법 과거완료(had + p.p.)' 사용!
핵심 원리
가정법에서 '과거'나 '과거완료'라는 이름은 '해석하는 시점'이 아니라 '동사의 모양'을 뜻합니다! 따라서 가정법 과거는 '현재(~라면)'로, 가정법 과거완료는 '과거(~했더라면)'로 해석해야 합니다.
2

가정법 과거·과거완료·혼합가정법 및 I wish / as if 공식 비교표

수능과 내신 서술형에서 가장 까다로운 문제는 If절의 동사 형태와 주절의 조동사 형태를 짝맞추는 시제 일치 공식입니다. 아래 표의 공식을 구구단처럼 정확히 암기해야 합니다.

가정법 종류적용 상황 (해석)If절 (조건절) 공식주절 (귀결절) 공식실전 예문 및 직설법(Fact) 변환
가정법 과거현재 사실의 반대
(지금 ~라면, ...할 텐데)
If + S + 과거동사
*(be동사는 인칭 무관 were 원칙)*
S + would / could / might + 동사원형*If I knew her number, I would call her now.*
(= *As I don't know her number, I cannot call her.*)
가정법 과거완료과거 사실의 반대
(과거에 ~했더라면, ...했을 텐데)
If + S + had + p.p.S + would / could / might + have p.p.*If you had left earlier, you would have caught the train.*
(= *As you didn't leave earlier, you didn't catch it.*)
혼합 가정법 (고난도!)과거의 일이 현재까지 영향
(과거에 ~했더라면, 지금(now) ...할 텐데)
If + S + had + p.p.
*(과거 사건 반대)*
S + would / could / might + 동사원형 + now/today*If I had taken your advice then, I would be happier now.*
(그때 조언을 들었더라면, 지금 더 행복할 텐데!)
I wish 가정법이루기 힘든 소망
(~라면 좋을 텐데 / ~했더라면 좋았을 텐데)
—I wish + S + 과거동사(were) (주절과 동시)
I wish + S + had p.p. (주절보다 이전)
*I wish I could fly like a bird.* (지금 날 수 있다면)
*I wish I had not spent all my money.* (과거 후회)
as if (as though) 가정법마치 ~인 것처럼 (사실은 아님)—as if + S + 과거동사(were) (주절과 동시)
as if + S + had p.p. (주절보다 이전)
*He talks as if he knew everything.*
*She acts as if nothing had happened yesterday.*
학습 도움말
혼합 가정법 판별의 결정적 단서: If절에는 'yesterday, then, when I was young' 같은 과거 부사가 있는데, 주절 끝에는 'now, today'라는 현재 부사가 있으면 100% 혼합 가정법(If + had p.p. ~, would + 동사원형 now)입니다!
3

Without(But for) 구문 전환과 If 생략 도치 구문, 당위성 should 생략

1
Without / But for + 명사 (~이 없다면 / ~이 없었더라면):

주절의 조동사 모양을 보고 현재의 반대(would + 동사원형)인지 과거의 반대(would have p.p.)인지 역추적하여 4가지 동의 표현으로 바꿀 수 있어야 합니다!

•
가정법 과거 (현재에 ~이 없다면): Without = But for = If it were not for = Were it not for (주절: would + 동사원형)
•
Without (If it were not for) water, no living things could survive.
•
가정법 과거완료 (과거에 ~이 없었더라면): Without = But for = If it had not been for = Had it not been for (주절: would have p.p.)
•
But for (If it had not been for) your help, I would have failed the project.
2
가정법에서 접속사 If 생략 시 발생하는 주어-동사 도치!:

가정법 문장에서 If절에 were, had(과거완료), should(미래 가정)가 있을 때, 접속사 If를 생략하면 Were / Had / Should가 주어 앞으로 튀어나가는 도치가 일어납니다!

•
If I were you, ~ →\rightarrow Were I you, ~
•
If you had arrived five minutes earlier, ~ →\rightarrow Had you arrived five minutes earlier, ~ (절대 의문문이 아니며 '~했더라면'으로 해석!)
3
주장·요구·명령·제안 동사 뒤의 '(should) + 동사원형' (특수 가정법 현재):

insist, demand, order, command, suggest, propose, recommend, require 뒤의 that절 내용이 '앞으로 마땅히 ~해야 한다(당위성)'일 때는 시제나 인칭에 상관없이 (should) + 동사원형을 씁니다!

•
당위성 (~해야 한다): The doctor suggested that he (should) stop smoking immediately. (stops / stopped (X))
•
단순 사실 진술 (이미 일어난 사실 — insist / suggest 주의!): 당위성이 아니라 단순한 사실을 주장·암시할 때는 시제에 맞는 직설법 동사를 그대로 씁니다!
•
The witness insisted that the accident took place at 10 p.m. (사고가 10시에 일어났다고 주장했다 — 당위성이 아니므로 take place(X), 과거 시제 took place(O)!)
주의할 점
수능 함정: 'insist(주장하다)'나 'suggest(제안하다/시사하다)' 뒤에 that절이 왔다고 무조건 동사원형을 고르면 안 됩니다! 반드시 해석하여 '~해야 한다(당위)'인지 '~였다(과거 사실 진술/시사)'인지 확인하세요.
풀이

(A) If절은 오늘 아침의 과거 사실 반대(had brought)이지만, 주절 끝에 'right now(지금 당장)'라는 현재 시점 부사가 있으므로 혼합 가정법이 적용되어 'would not be'가 맞습니다. (B) 주절이 'would have been injured'로 가정법 과거완료이므로 'If it had not been for'에서 If가 생략되어 도치된 'Had(it not been for)'가 맞습니다. (C) 연구 결과가 '규칙적인 운동이 심장병 위험을 줄여야 한다(제안)'가 아니라 '줄여준다는 사실(객관적 사실)을 시사한다(보여준다)'는 뜻이므로 단수 직설법 동사 'reduces'가 맞습니다. 정답은 ①입니다.

핵심 요약

  • ✓
    가정법 과거(If + S + 과거동사/were, S + would/could + V)는 현재 사실의 반대를, 가정법 과거완료(If + S + had p.p., S + would/could + have p.p.)는 과거 사실의 반대를 나타낸다.
  • ✓
    과거의 사건이 현재(now/today)까지 영향을 미치는 혼합 가정법은 'If + S + had p.p., S + would/could + 동사원형 + now' 공식을 쓴다.
  • ✓
    'Without(But for) + 명사'는 주절 시제에 따라 'If it were not for(Were it not for)' 또는 'If it had not been for(Had it not been for)'로 전환된다.
  • ✓
    주장·제안·요구·명령 동사 뒤의 that절은 '마땅히 ~해야 한다(당위성)'일 때만 (should) + 동사원형을 쓰고, 단순 사실 진술일 때는 직설법 시제를 따른다.

설명 다음에는 직접 풀어 보세요

함께 풀기와 자기 설명을 거쳐 새 문제에 도전해요. 막힌 부분은 보충하고, 다른 날 다시 기억하는지 확인할 수 있어요.

이 단원의 수업 시작하기 →
5문항 연습 세트

29. 가정법 과거와 과거완료 단원 연습 문제

개념을 읽은 뒤 연습 문제로 이해한 내용을 확인해 보세요. 한 세트는 5문항이며, 답안을 제출하면 정답과 풀이를 볼 수 있습니다.

한 세트 5문항 단계별 상세 해설 시험지 PDF 인쇄 지원

참고 근거와 확인 범위

설명·예제·문제 구성 및 오류 수정 책임: 프리런. 위 자료는 표시한 주제를 확인하거나 더 읽기 위한 근거이며, 외부 기관의 공식 수업이나 감수본을 뜻하지 않습니다.

참고 자료 연결 점검: 2026-11-02. 제작 방식·검수 범위와 수정 기록에서 확인 범위를 볼 수 있습니다. 오류는 상단의 의견 보내기 또는 contact@freelearn.io로 알려 주세요.