가정법 과거와 가정법 과거완료 구분
가정법은 두 가지가 아니라 하나의 판단에서 갈립니다. 상상이 부딪히는 현실이 ‘지금’인지, ‘이미 지나간 그때’인지만 정하면 끝입니다. 지금의 비현실은 If I were rich, I would travel.(가정법 과거, 시제 한 칸 뒤로), 지나간 과거의 비현실은 If I had known, I would have helped.(가정법 과거완료, 두 칸 뒤로)입니다. 한국어 ‘-(으)면’은 이 둘을 하나로 쓰지만, 영어는 동사를 과거로 미뤄 ‘이건 사실이 아니야’라고 표시합니다.
무료 연습: 영어 문법 연습문제 | 무료·정답과 해설
한국어로 ‘시간이 많면 좋겠어’, ‘그때 알았으면 도와줬을 텐데’는 똑같은 ‘-면/-았으면’으로 말합니다. 화자는 이게 가정이구나를 문맥으로만 전달하지, 동사 모양으로는 바꾸지 않습니다. 영어는 다릅니다. 사실이 아닌 말을 할 때 시제를 강제로 과거로 밀어 ‘이건 현실이 아니야’를 문법으로 못 박습니다. 가정법이 어렵게 느껴지는 이유는 규칙이 많아서가 아니라, 한국어에 없는 ‘시제 밀기’라는 동작 자체에 익숙하지 않기 때문입니다. 이 동작 한 번만 몸에 붙이면 나머지는 따라옵니다.
한국어 ‘-(으)면’이 세 가정을 하나로
한국어 접속어미 ‘-(으)면’은 실제로는 서로 다른 세 상황을 하나로 덮습니다. 비가 오면 우산을 가져가.(아직 안 온 미래, 실현 가능), 시간이 많으면 매일 여행 다닐 건데.(지금 시간이 없는 가짜), 그때 더 조심했으면 사고가 안 났을 텐데.(이미 끝난 과거에 대한 가짜). 화자로서 이 셋을 구분하는 신호는 문맥뿐이고, 동사 모양은 하나도 변하지 않습니다. 그래서 한국인에게는 ‘가정 = 한 형태’라는 감각이 자리 잡습니다.
영어는 이 셋을 문법으로 갈라 놓습니다. 실현 가능한 미래 조건은 가정법 현재(If it rains, I will stay home.)처럼 if절은 현재형, 주절에 will을 둡니다. 지금의 비현실은 가정법 과거(If I had time, I would travel.)로, 조건을 과거형으로 한 칸 밀어 ‘사실이 아님’을 표시합니다. 이미 지나간 과거의 비현실은 가정법 과거완료(If I had known, I would have helped.)로 두 칸을 밀어 had + p.p.를 만듭니다. 한국어가 하나의 단추로 처리하는 데를 영어는 세 단추로 분리하는 셈이고, 그 차이가 ‘backshift(시제 후행)’라는 낯선 동작을 요구합니다.
판단 기준 하나: 지금인가, 지나간 때인가
가정법에서 형식을 결정하는 질문은 단 하나입니다. ‘이 상상이 부딪히는 현실이 ‘지금’이야, 아니면 ‘이미 끝난 그때’야?’ 답이 지금이면 시제를 한 칸 밀고, 그때면 두 칸 밉니다. 한국어 문장을 영어로 옮길 때 동사를 고르기 전에 이 질문을 먼저 던지는 습관을 들여야 합니다. 한국인은 보통 ‘-면’을 보는 순간 과거형이 떠오르지 않아 한 칸인지 두 칸인지 대략으로 넘기기 때문에서 오류가 생깁니다.
| 현실의 시각 | if절 | 주절 |
|---|---|---|
| 지금 불가능 | 과거형 (were) | would + 원형 |
| 지나간 때 반대 | had + p.p. | would have + p.p. |
같은 뼈대에 단어만 얹어 보면 구분이 뚜렷해집니다. If I had a lot of money, I would buy a house.는 ‘지금 돈이 없다’는 가정입니다. 반면 If I had had a lot of money, I would have bought a house.는 ‘그때(예컨대 2019년에) 돈이 없었다’는 지나간 후회입니다. had와 had had, would buy와 would have bought — 차이는 전부 ‘현실을 어디에 두느냐’에서 나옵니다. 주절의 would have p.p.가 보이면 if절은 반드시 had p.p.여야 하고, 주절의 would 원형이 보이면 if절은 단순 과거형이어야 합니다. 두 절의 시간표를 하나로 맞추는 것이 핵심 규칙입니다.
시제 밀기는 ‘과거를 말한다’는 뜻이 아니라 ‘비현실을 표시한다’는 뜻임을 명확히 해 둡시다. If I knew his number은 ‘나는 그의 번호를 (지금은) 모른다’는 사실을 과거 모양으로 감싸 말하는 것입니다. 이 감각을 이해하면 why were가 어색하지 않고, 왜 주절에 will이 아니라 would이 오는지도 자연스럽게 따라옵니다. 앞으로의 두 절에서 ‘지금 가정’과 ‘지나간 가정’을 각각 예문으로 고정해 보겠습니다.
가정법 과거: 지금 불가능한 일
기준 시각이 지금이면 가정법 과거를 씁니다. 구조는 If + 주어 과거형, 주어 would(should/could/might) + 동사원형입니다. be동사는 인칭과 상관없이 were로 통일하는 것이 전통 규칙입니다. If I were you, I’d apologize.(네 처지라면 사과할 건데), If she had more practice, she could win.(연습을 더 하면 이길 수 있는데). 모두 ‘지금 그러지 않다/못하다’는 현실을 전제로 한 가정입니다.
주절의 would는 사실 will의 과거형이라기보다 ‘비현실 마커’로 동작합니다. 그래서 I would help you 하나만으로도 ‘도와줄 텐데(못 도와줄 사정)’라는 뉘앙스가 실리고, 조건을 붙이려면 If I had time, I would help you.가 됩니다. could/might를 쓰면 가능성의 색이 달라집니다. If it stopped raining, we might go out.은 ‘그치면 나갈지도 몰라’로 would보다 확정도가 낮습니다. would/could/might 뒤에 항상 원형이 온다는 점을 놓치지 마세요 — would to help은 오류입니다.
한 문장 더 고정해 두면 좋습니다. If I didn’t have to work today, I would go hiking.는 ‘오늘 출근해야 한다’는 현재 사실을 부정하며, if절의 didn’t have와 주절의 would go가 짝을 이룹니다. here와 there처럼 위치만 두고 보면, 주절의 would + 원형과 if절의 단순 과거가 한 세트임을 반복해서 확인하게 됩니다. 다음 퀴즈로 ‘지금 가정’과 ‘지나간 가정’을 섞어 맞혀 보세요.
퀴즈: 가정법 문장 고르기 (전 7문항)
가정법 과거완료: 되돌릴 수 없는 과거
기준 시각이 이미 끝난 과거면 가정법 과거완료입니다. 구조는 If + 주어 had + p.p., 주어 would have + p.p. — 시제를 두 칸 밟는 셈입니다. 한국어의 ‘-았/었더라면 …했을 텐데’에 정확히 대응하는 형태로, 후회·안도·혹평 같은 감정이 실리는 일이 많습니다. If I had known about the meeting, I would have attended.(회의를 알았더라면 참석했을 텐데 — 실제로는 몰랐고 안 갔다).
주절의 would have는 축약되어 I’d have gone, she would’ve called처럼 발음되지만, 쓸 때 would of로 헷갈아 적는 일이 없도록 주의합니다. had + p.p.에서 had는 소유의 have가 아니라 과거완료의 조동사이므로 If I’d known의 ’d는 had로 풀립니다. 이 축약을 듣기에서 못 알아채면 시간이 뒤섞여 들리니, ‘If I’d + p.p. = 지나간 가정’이라는 귀를 따로 익혀 두는 것이 좋습니다.
| 한국어 | 영어 |
|---|---|
| 더 일찍 나갔으면 안 늦었을 텐데. | If I had left earlier, I wouldn’t have been late. |
| 네가 말해 줬더라면 고쳤을 거야. | If you had told me, I would have fixed it. |
| 그 일을 수락했으면 미국에 있었을 텐데. | If she had accepted it, she would have been in the US. |
주의할 것은 두 절의 짝입니다. if절에 had p.p.를 썼다면 주절에도 어김없이 would have p.p.를 써야 합니다. If I had known, I would help.처럼 과거완료와 현재 would를 섞으면 조건은 과거에 있는데 결과는 지금이라는 뜻이 되어 의도와 다른 문장이 됩니다(의도적으로 섞는 혼합 가정은 5번 절에서 다룹니다). 기본에서는 두 절의 시간을 항상 같은 과거에 고정하는 것이 원칙입니다.
wish·If only와 시간이 어긋나는 문장
wish와 If only는 가정법과 같은 엔진을 씁니다. 지금 현실을 아쉬워하면 뒤를 과거형으로 밉니다: I wish I had more free time.(시간이 더 많으면 좋겠다), If only I were taller. 지나간 일을 후회하면 과거완료로 밉니다: I wish I had studied harder.(더 열심히 했으면 좋았을 텐데). 주어가 나이어도 I wish I were가 자연스럽고, 남에게 불평·당부를 할 때는 would를 씁니다: I wish you would knock before entering. 한국어 ‘~했으면 좋겠다/텐데’가 통째로 이 구조에 들어갑니다.
조건은 과거인데 결과가 ‘지금’까지 이어지는 문장에서는 두 시간을 섞습니다(혼합 가정). If I had taken that job in 2019, I would live in Busan now. — if절은 지나간 결정(had taken), 주절은 현재 상태(would live). 반대로 조건은 보통의 사실인데 결과가 지나간 경우도 있습니다. If she were a good driver, she wouldn’t have crashed. 이 혼합은 고급 영역이고, 한국인 학습자에게 먼저 필요한 것은 기본 두 유형에서 시계를 고정하는 힘입니다. 시험·실무에서 마주하는 가정법 90%는 한 칸이냐 두 칸이냐의 선택입니다.
흔한 실수와 연습법
아래 오류들은 전부 ‘한국어 -(으)면을 그대로 끌고 온’ 결과입니다. 낱말을 몰라서 생기는 실수가 아니라, 시제를 미루는 동작이 입에 붙지 않아 생깁니다:
연습은 ‘시각 라벨 붙이기’가 가장 효과적입니다. 매일 그날의 후회나 꿈을 세 개씩 문장으로 만들고 앞에 (지금)/(지나간) 표기를 붙여 소리 내세요. (지나간) If I had gone to bed earlier, I wouldn’t be so tired now.처럼 시각을 먼저 적으면 형태가 저절로 정해집니다. 20개를 채우는 순간 ‘판단 기준 하나’가 머리에 잡힙니다. 쓸 때 확인이 필요하면 PromGee 무료 영어 문법 검사기가 if절과 주절의 시제 짝을 어긋남까지 짚어 한국어로 설명합니다. 세 가정을 통째로 훈련하려면 가정법 if문 연습문제로 이어서 풀어 보세요.
실전 팁: 동사보다 먼저 ‘시계’를 보자
가정법을 쓸 때 머리가 아니라 현실부터 보세요. ‘이 상상이 부딪히는 사실이 지금이야, 이미 끝난 과거야?’라고 스스로 묻고 답을 한 단어로 적습니다. 지금이면 한 칸(과거형 → would 원형), 지나간 때면 두 칸(had p.p. → would have p.p.). 이 2초 질문 하나가 문형 전체를 결정합니다.
그 다음 할 일은 주절만 먼저 세우고 뒤에 if절을 붙이는 연습입니다. I would have helped you가 먼저 입에 붙으면, 조건은 if I had known으로 자동으로 맞습니다. 한국인은 if절부터 조립하려다 시간을 놓치기 쉬워, 결과부터 말하고 조건을 거는 순서가 도움이 됩니다.
마지막으로 격식과 구어를 나눠 두세요. 글에서는 If I were, if절에 would 절대 금지가 안전선입니다. 회화의 If I was나 I’d’ve 축약은 알아듣되, 쓸 때는 본 형태로 되돌려 습관화하면 실수가 줄어듭니다.
가정법은 ‘현실이 지금이냐, 지나간 시간이냐’ 하나의 판단에서 갈립니다. 지금 비현실 → 가정법 과거: If + 과거형(I were), would + 원형(If I were rich, I would travel.). 지나간 비현실 → 가정법 과거완료: If + had p.p., would have p.p.(If I had known, I would have helped.). 실제 조건 → 가정법 현재: if절 현재, 주절 will(If it rains, I’ll stay.). 철칙: if절에 will/would 금지, 주절 would 뒤는 원형, 두 절의 시각을 하나로 고정. wish·If only도 같은 엔진(지금=과거형, 과거=had p.p.)을 쓰고, 조건·결과가 다른 시각일 때만 혼합 가정을 씁니다.
자주 묻는 질문
if절에 왜 ‘will’나 ‘would’를 넣으면 안 되나요?
영어는 조건을 나타내는 if절에서 미래를 will로 표현하지 않습니다. 미래의 실제 조건인 가정법 현재에서도 ‘If it rains tomorrow’(will이 아님)처럼 현재형을 씁니다. 비현실로 미룰 때는 더더욱, 시제를 한 칸 뒤로 밀어 will 대신 would를 ‘주절’에만 둡니다. 그래서 ‘If I would have time’은 이중 would 오류입니다. would은 결과 문장(주절)의 자리이고, if절은 과거형(had/were)이나 현재형이 맡습니다. 이 한 가지만 지키면 문형의 절반이 자동으로 맞습니다.
If I was과 If I were 중 어느 것이 맞나요?
전통 문법과 격식 글에서는 I/we 뒤에도 were를 씁니다: If I were you, If he were here. 이것이 시험·에세이에서 가장 안전한 형태입니다. 다만 구어에서는 If I was rich처럼 was도 널리 쓰이며 뜻은 같고 어법적으로도 용인됩니다. 한국인이 조심할 지점은 was/were 선택이 아니라, 아예 현재형 If I am rich에 would를 붙이는 오류입니다. ‘비현실을 과거로 미룬다’는 감각만 잡으면 was든 were든 큰 틀은 지킵니다.
‘-았/었더라면’은 무조건 가정법 과거완료가 되나요?
대부분 그렇지만, 문장이 가리키는 ‘기준 시각’을 먼저 확인해야 합니다. 지나간 한 시점에만 반하는 가정(그때 알았더라면)이면 If + had p.p., would have p.p.로 두 절을 과거에 고정합니다. 그런데 조건은 과거인데 결과가 ‘지금’ 남아 있으면 시간이 섞입니다: If I had taken that job(과거), I would live in Busan now(지금)처럼 주절을 would + 원형으로 현재를 가리킵니다. 한국어 ‘-았더라면 …일 텐데’의 ‘…일 텐데’가 지금 상황인지 그때 상황인지가 갈림점입니다.
If가 없으면 가정법을 못 만드나요?
If 대신 쓸 수 있는 표현이 많습니다. unless는 ‘~이 아니면(=if not)’의 뜻이라 Unless you hurry, you’ll miss it.처럼 이미 부정입니다. as long as / provided that는 ‘~라는 조건만 충족되면’으로 실제 조건에 가깝고, 비현실에도 쓰입니다: As long as I had a guitar, I’d be happy. 구어에서 무척 흔한 형태는 if를 생략하고 were/had로 시작하는 도치입니다: Were I rich, … / Had I known, … = If I were rich / If I had known. 격식체라 글에서 자주 보입니다.
가정법 과거와 과거완료는 언제까지 따로 외워야 하나요?
별개로 외우지 말고 ‘기준 시각 하나’만 정하세요. 머릿속으로 질문을 던집니다. ‘이 상상이 부딪히는 현실이 지금이야, 아니면 이미 끝난 그때야?’ 지금이면 과거형 한 칸 밀기(If + 과거 → would 원형), 그때면 두 칸 밀기(If + had p.p. → would have p.p.). 동사 변화만 다를 뿐 판단은 동일합니다. 실제 예문을 시간 라벨을 붙여 소리 내어 20개만 만들어 보면 유형이 손에 붙습니다.
쓴 문장, if절과 주절의 시계가 맞물려 있나요?
가정한 문장을 그대로 붙여 넣으면 PromGee 무료 검사기가 if절에 섞인 will·would, 어긋난 have p.p. 짝을 집어내 ‘지금 가정’인지 ‘지나간 가정’인지 한국어로 짚어 줍니다. 일기든 메일이든 쓰기 전에 한 번만 돌려 보세요.
무료 검사기 열기