가정법 과거 완료
이 문서 목차
핵심 정리
가정법 과거 완료는 과거 사실의 반대를 상상할 때 씁니다. '그때 ~했더라면 ~했을 텐데'라는 뜻입니다.
구조: If + 주어 + had p.p., 주어 + would/could/might + have p.p.
조건과 결과가 모두 과거인 경우, if절은 had p.p., 주절은 would have p.p.를 씁니다. 조건이나 결과 중 하나가 현재이면 혼합 가정법을 씁니다.
- If I had studied, I would have passed. (공부했더라면 합격했을 텐데.)
- 실제: I didn't study, so I didn't pass.
1. 동사 형태
| 절 | 형태 | 예문 |
|---|---|---|
| if절 | had + p.p. | If I had known, |
| 주절 | would have + p.p. | I would have told you. |
| 주절 (능력) | could have + p.p. | I could have helped. |
| 주절 (가능성) | might have + p.p. | I might have gone. |
회화에서는 자주 줄여서 말합니다.
- If I'd known, I would've told you.
- I'd have helped.
주의: I'd는 if절에서 I had, 주절에서 I would입니다.
2. 가정법 비교
| 종류 | 시점 | 형태 | 예문 |
|---|---|---|---|
| 단순 조건문 | 현재, 미래 | If + 현재, will + 원형 | If I have time, I'll go. |
| 가정법 과거 | 현재 | If + 과거, would + 원형 | If I had time, I would go. |
| 가정법 과거 완료 | 과거 | If + had p.p., would have p.p. | If I had had time, I would have gone. |
3. 자주 쓰는 표현
| 표현 | 뜻 | 예문 |
|---|---|---|
| If it had not been for | ~이 없었다면 | If it had not been for you, I would have failed. |
| Without | ~이 없었다면 | Without you, I would have failed. |
| But for | ~이 없었다면 | But for your help, I would have failed. |
| I wish + had p.p. | ~했으면 좋았을 텐데 | I wish I had studied. |
| would have p.p. | ~했을 것이다 | I would have gone. |
도치
if를 생략하면 Had + 주어 + p.p. 로 바뀝니다.
- Had I known, I would have told you.
- Had it not been for your help, I would have failed.
조동사 + have p.p.와의 관계
| 표현 | 뜻 |
|---|---|
| would have p.p. | ~했을 것이다 |
| could have p.p. | ~할 수 있었을 것이다 |
| might have p.p. | ~했을지도 모른다 |
| should have p.p. | ~했어야 했다 (후회) |
4. if가 없는 가정법
| 표현 | 예문 | 뜻 |
|---|---|---|
| 부사구 | A week earlier, I could have helped. | 일주일 전이었다면 도울 수 있었을 것이다. |
| otherwise | I was busy. Otherwise, I would have gone. | 바빴다. 그렇지 않았다면 갔을 것이다. |
| but | I would have gone, but I was sick. | 갔을 텐데 아팠다. |
5. 사실로 되돌려 보기
긍정과 부정이 바뀌고 시제는 과거형이 됩니다.
| 가정법 과거 완료 | 사실 |
|---|---|
| If he had left early, he wouldn't have missed the train. | He didn't leave early, so he missed the train. |
| If I hadn't eaten, I would have been hungry. | I ate, so I wasn't hungry. |
6. 예문
쉬운 예문
| 예문 | 뜻 |
|---|---|
| If I had known, I would have come. | 알았더라면 왔을 텐데. |
| If you had called, I would have helped. | 네가 전화했더라면 도왔을 텐데. |
| If I knew, I would tell you. | 안다면 말해 줄 텐데. |
| If she had asked, I would have said yes. | 그녀가 물었더라면 그렇다고 했을 텐데. |
보통 예문
| 예문 | 뜻 |
|---|---|
| If I had left earlier, I wouldn't have been late. | 더 일찍 나왔더라면 늦지 않았을 텐데. |
| We could have won if we had played better. | 더 잘했더라면 이길 수 있었을 텐데. |
| If it hadn't rained, we would have gone camping. | 비가 오지 않았더라면 캠핑을 갔을 텐데. |
| I might have bought it if I had seen it. | 봤더라면 샀을지도 모른다. |
어려운 예문
| 예문 | 뜻 |
|---|---|
| If the company had acted sooner, it could have avoided bankruptcy. | 회사가 더 일찍 조치했더라면 파산을 피할 수 있었을 것이다. |
| Had the government not intervened, the crisis would have been far worse. | 정부가 개입하지 않았더라면 위기는 훨씬 심각했을 것이다. |
| Without their generous support, the project would never have been completed. | 그들의 후한 지원이 없었다면 프로젝트는 결코 완성되지 못했을 것이다. |
7. 실전 사용 예
| 상황 | 문장 | 뜻 |
|---|---|---|
| 후회 | If I had known, I wouldn't have said that. | 알았더라면 그런 말을 하지 않았을 텐데요. |
| 이메일 | Had I known, I would have replied earlier. | 알았더라면 더 일찍 답변드렸을 겁니다. |
| 감사 | I couldn't have done it without you. | 덕분에 해낼 수 있었어요. |
| 회의 | We would have finished if we'd had more staff. | 인력이 더 있었다면 끝냈을 겁니다. |
| 대화 | You should have told me. I would have helped. | 말해 주지 그랬어. 도와줬을 텐데. |
8. 한국인이 자주 하는 실수
문법 오류
| 틀린 문장 | 맞는 문장 | 이유 |
|---|---|---|
| If I would have known, I'd have come. | If I had known, I'd have come. | if절에 would를 쓰지 않습니다. |
| If I had know, | If I had known, | p.p.를 씁니다. |
| I would have went. | I would have gone. | p.p.를 씁니다. |
| If I had more time yesterday, I'd have gone. | If I had had more time yesterday, I'd have gone. | have의 과거완료입니다. |
뜻 차이·권장 표현
| 표현 | 권장·대조 표현 | 구분 | 설명 |
|---|---|---|---|
| If I knew, I would have told you. | If I had known, I would have told you. | 의미 차이 | '그때 알았더라면 그때 말했을 텐데'라는 뜻이면 had known을 씁니다. 왼쪽은 지금 아는 사실을 조건으로 삼는 혼합 가정법입니다. |
| If I had known, I would tell you. | If I had known, I would have told you. | 의미 차이 | '그때 말했을 텐데'라는 뜻이면 would have told를 씁니다. 왼쪽은 결과가 현재인 혼합 가정법입니다. |
9. 퀴즈
빈칸 채우기
괄호 안의 동사를 가정법 과거 완료 형태로 바꾸세요.
알맞은 말 고르기
문장 바꾸기
틀린 곳 고치기
도전 문제
0 / 12