가정법 과거완료, had p.p.로 지나간 일을 후회하는 법

가정법 과거완료, had p.p.로 지나간 일을 후회하는 법

“그때 알람을 하나만 더 맞춰 뒀더라면 지각하지 않았을 텐데.” 이미 지나간 아침을 떠올리며 이런 말을 해 본 적이 있을 겁니다. 일어난 일은 바꿀 수 없지만, 머릿속으로는 다른 결말을 그려 볼 수 있죠.

영어에서 이런 후회와 상상을 담는 틀이 가정법 과거완료입니다. 과거 사실의 반대를 나타내는 문장 구조와, 이것을 직설법으로 바꾸는 방법을 원리로 살펴보겠습니다.

과거의 후회를 가정법 과거로 쓴 문장

가정법 과거를 배운 뒤에는 과거의 일에도 같은 형태를 쓰는 실수가 자주 나옵니다. 아래 문장을 볼까요.

틀린 문장If I studied harder last year, I would have passed the exam. (틀림)
If you had told me, I would help you yesterday. (틀림)

첫 문장은 last year라는 과거의 일인데 if절에 가정법 과거의 형태 studied를 썼습니다. 두 번째 문장은 yesterday의 일인데 주절에 would help를 써서 ‘지금 도와줄 텐데’라는 뜻이 되어 버렸죠.

과거의 일을 반대로 상상할 때는 시제를 한 칸 더 뒤로 보내야 합니다. 그 형태가 가정법 과거완료입니다.

가정법 과거완료의 문장 구조

기본 구조If + 주어 + had p.p., 주어 + would / could / might + have p.p.
해석: (그때) ~했더라면, ~했을 텐데

가정법은 현실과 거리를 두기 위해 시제를 한 칸 과거로 옮깁니다. 현재의 일은 과거형으로 옮기고, 이미 과거인 일은 그보다 한 칸 더 과거인 과거완료 had p.p.로 옮기는 것이죠.

주절도 같은 원리입니다. 조동사의 과거형 would 뒤에는 원형만 올 수 있으니 과거를 나타내려면 have p.p.를 붙입니다. 그래서 would have p.p.라는 형태가 나옵니다.

가정법 과거완료 예문If I had studied harder, I would have passed the exam.

If you had told me, I could have helped you.

묻고 답하는 방식으로 풀어 볼까요. “더 열심히 공부했더라면 합격했을 텐데. (그래서 실제로는?) 열심히 안 했고, 떨어졌어.” 가정법 과거완료는 이렇게 이미 정해진 과거의 결과를 반대로 그려 보는 문장입니다.

그래서 이 형태에는 후회나 아쉬움이 자주 담깁니다. 주절의 could have p.p.는 ‘할 수 있었을 텐데’, might have p.p.는 ‘했을지도 모르는데’로 아쉬움의 정도를 조절할 수 있죠.

직설법 전환과 if 생략 도치

직설법으로 바꾸는 법

가정법 과거완료를 직설법으로 바꿀 때도 규칙은 두 가지입니다. 시제를 과거로 되돌리고, 긍정과 부정을 뒤집는 것이죠.

가정법 과거완료 → 직설법If I had studied harder, I would have passed the exam.
→ As I didn’t study harder, I didn’t pass the exam.

If it hadn’t rained, we would have gone on a picnic.
→ As it rained, we didn’t go on a picnic.

had studied는 과거 didn’t study로, would have passed는 didn’t pass로 바뀌었습니다. 현재형으로 바꾸는 실수가 많은데, 숨은 현실은 과거의 일이라는 점을 기억하세요.

if를 생략하면 도치

격식 있는 글에서는 if를 빼고 had를 주어 앞으로 보내기도 합니다. 의미는 그대로이고, 문장 첫머리의 Had가 가정법의 신호가 되죠.

if 생략 도치Had I known the truth, I would have told you.
Had she left earlier, she could have caught the train.

학생들이 자주 틀리는 형태

if절에 would have p.p.를 쓰는 경우

주절의 would have p.p.에 끌려 if절에도 같은 형태를 쓰는 실수가 많습니다. 회화에서 들리기도 하지만, 시험과 격식 있는 글에서는 틀린 문장으로 봅니다.

if절은 had p.p.If I would have known, I would have come. (틀림)
If I had known, I would have come.
If they had asked me, I would have said yes.

주절에서 have를 빠뜨리는 경우

would 뒤에 바로 과거분사를 쓰는 실수도 자주 나옵니다. would 뒤는 원형이어야 하므로 반드시 have가 들어가야 하죠.

would have p.p.If he had run, he would caught the bus. (틀림)
If he had run, he would have caught the bus.

가정법 과거와 과거완료 비교 표

구분가정법 과거가정법 과거완료
반대되는 사실현재 사실과거 사실
if절과거형 (be동사는 were)had p.p.
주절would + 동사원형would + have p.p.
해석(지금) ~라면, ~할 텐데(그때) ~했더라면, ~했을 텐데
예문If I had time, I would help you.If I had had time, I would have helped you.
직설법As I don’t have time, I don’t help you.As I didn’t have time, I didn’t help you.

핵심 정리

가정법 과거완료는 ‘If + 주어 + had p.p., 주어 + would/could/might + have p.p.’의 구조로 과거 사실의 반대를 상상합니다. 현재의 상상보다 시제를 한 칸 더 뒤로 보낸 형태라서, 해석은 ‘(그때) ~했더라면, ~했을 텐데’가 됩니다.

문제를 풀 때는 시간 표현을 먼저 보세요. yesterday, last year처럼 과거를 가리키면 가정법 과거완료입니다. 직설법으로 바꿀 때는 과거 시제로 되돌리고 긍정과 부정을 뒤집으면 됩니다.

도입의 지각한 아침을 영어로 옮기면 If I had set one more alarm, I wouldn’t have been late.입니다. had p.p.라는 형태는 이미 지나간 시간을 한 번 더 되돌려 보는 장치인 셈이죠.

예상 문제

문제. 다음 문장과 뜻이 같은 것을 고르시오. (고1 객관식)If he had left earlier, he would not have missed the train.
① As he left earlier, he didn’t miss the train.
② As he didn’t leave earlier, he missed the train.
③ As he doesn’t leave earlier, he misses the train.
④ As he didn’t leave earlier, he didn’t miss the train.
⑤ Though he left earlier, he missed the train.

[해설] 가정법 과거완료는 과거 사실의 반대를 나타냅니다. 직설법으로 바꿀 때는 과거 시제를 쓰고 긍정과 부정을 뒤집으므로, had left는 didn’t leave, would not have missed는 missed가 됩니다.

[정답] ②