본문 바로가기
생활 관련 정보

가정법 과거와 가정법 과거완료 공식 및 예문 총정리|수능 영어 문법·직설법 전환·혼합가정법

by whw5860 님의 블로그 2026. 10. 17.
반응형

 

중·고등 영어 문법 · 내신 시험 · 수능 영어 · 가정법 완벽 정리

If I were you와 If I had known의 차이, 이제 정확하게 구분하기

현재 사실의 반대와 과거 사실의 반대를 구분하는 것이 핵심!

영어 가정법을 공부할 때 가장 헷갈리는 것은 시제입니다. 현재 사실의 반대를 가정하면서 동사는 과거형을 사용하고, 과거 사실의 반대를 가정할 때는 과거완료형을 사용하기 때문입니다.

이번 글에서는 가정법 과거와 가정법 과거완료의 공식, 기본 예문, 해석 방법, 직설법 전환, 혼합가정법, I wish, as if, 시험에서 자주 나오는 함정을 하나씩 정리합니다.

가정법 핵심 공식 먼저 암기하기

가정법 과거

If + 주어 + 동사 과거형, 주어 + would/could/might + 동사원형

뜻: 만약 지금 ~라면, …할 텐데


가정법 과거완료

If + 주어 + had + p.p., 주어 + would/could/might + have + p.p.

뜻: 만약 과거에 ~했더라면, …했을 텐데

1. 가정법이란? 직설법과 가정법의 차이

① 가정법은 사실과 다른 상황을 상상하는 표현

가정법은 실제 사실과 반대되는 상황이나 현실성이 낮은 상황을 상상할 때 사용하는 영어 표현입니다.

과거형과 과거완료형을 사용하지만, 이 문법에서 동사의 형태는 단순히 사건이 일어난 시점을 나타내는 것만이 아니라 현실과의 거리도 표현합니다.

직설법: I am not rich, so I cannot buy that house.

나는 부자가 아니기 때문에 저 집을 살 수 없다.

가정법: If I were rich, I could buy that house.

만약 내가 부자라면 저 집을 살 수 있을 텐데.

첫 문장은 현재 실제 상황을 설명합니다. 반면 두 번째 문장은 현재 부자가 아니라는 사실을 바탕으로 다른 상황을 상상합니다.

② 조건문과 가정법은 항상 같은 것이 아니다

영어에서 if가 등장한다고 모두 가정법 과거 또는 과거완료가 되는 것은 아닙니다.

구분 예문 의미
일반 조건문 If it rains tomorrow, I will stay home. 내일 비가 오면 집에 있을 것이다.
가정법 과거 If it rained tomorrow, I would stay home. 내일 비가 온다면 집에 있을 텐데.
가정법 과거완료 If it had rained yesterday, I would have stayed home. 어제 비가 왔더라면 집에 있었을 텐데.

첫 번째는 실제로 일어날 수 있는 미래 조건입니다. 두 번째는 내일 비가 오는 상황을 가상적으로 설정하며, 세 번째는 이미 지나간 어제의 상황을 반대로 가정합니다.

③ 가정법 이름의 '과거'는 항상 과거 시간을 뜻하지 않는다

가정법 과거에서 과거형은 보통 현재 또는 미래의 비현실적인 상황을 표현합니다.

가정법 과거완료의 had + p.p.는 이미 지나간 과거의 사실과 반대되는 상황을 표현하는 데 사용됩니다.

암기 포인트: 가정법 이름만 보지 말고 '언제의 사실을 반대로 가정하는가?'를 확인하세요. 현재 사실의 반대라면 가정법 과거, 과거 사실의 반대라면 가정법 과거완료가 기본입니다.

2. 가정법 과거 공식과 대표 예문 15개

① 가정법 과거의 기본 형태

If + S + 과거형, S + would/could/might + 동사원형

해석: 만약 지금 ~라면, …할 텐데

가정법 과거는 현재 실제 상황이 아니거나 현실성이 낮은 상황을 가정할 때 사용합니다.

would는 예상 결과, could는 가능하거나 능력이 있다는 의미, might는 불확실한 가능성을 표현할 수 있습니다.

② be동사는 왜 were를 사용할까?

전통적인 문법과 학교 시험에서는 가정법 과거의 if절에 be동사가 등장하면 인칭과 수에 관계없이 were를 사용하는 형태를 기본으로 가르칩니다.

특히 If I were you는 시험에 매우 자주 등장하는 표현입니다.

일상 회화에서는 If I was를 사용하는 경우도 있지만, 격식 있는 가정법 및 내신 문법 문제에서는 were를 우선 익히는 편이 좋습니다.

③ 가정법 과거 예문 15개

번호 영어 예문 해석
1 If I were you, I would apologize. 내가 너라면 사과할 텐데.
2 If I were rich, I would travel around the world. 내가 부자라면 세계여행을 할 텐데.
3 If I had more time, I would read more books. 시간이 더 많다면 책을 더 읽을 텐데.
4 If she knew the answer, she would tell us. 그녀가 답을 안다면 우리에게 알려줄 텐데.
5 If he studied harder, he could get better grades. 그가 더 열심히 공부한다면 더 좋은 성적을 받을 수 있을 텐데.
6 If it were sunny, we could go hiking. 날씨가 맑다면 등산할 수 있을 텐데.
7 If I spoke French, I could work in Paris. 프랑스어를 할 수 있다면 파리에서 일할 수 있을 텐데.
8 If we lived closer, we would meet more often. 우리가 더 가까이 산다면 더 자주 만날 텐데.
9 If I had a car, I could drive to school. 차가 있다면 학교까지 운전해 갈 수 있을 텐데.
10 If she were here, she would help us. 그녀가 여기 있다면 우리를 도와줄 텐데.
11 If I knew his number, I would call him. 그의 전화번호를 안다면 전화할 텐데.
12 If the store were open, we could buy some food. 가게가 열려 있다면 음식을 살 수 있을 텐데.
13 If I were taller, I might play basketball better. 키가 더 크다면 농구를 더 잘할지도 모를 텐데.
14 If you practiced every day, you would improve faster. 매일 연습한다면 더 빨리 실력이 늘 텐데.
15 If I had enough money, I would buy a new laptop. 돈이 충분하다면 새 노트북을 살 텐데.

④ would·could·might 차이

If I had more free time, I would learn Spanish.

시간이 더 많다면 스페인어를 배울 텐데. → 예상되는 행동

If I had more free time, I could learn Spanish.

시간이 더 많다면 스페인어를 배울 수 있을 텐데. → 능력이나 가능성

If I had more free time, I might learn Spanish.

시간이 더 많다면 스페인어를 배울지도 모를 텐데. → 불확실한 가능성

⑤ 가정법 과거에서 가장 중요한 동사 형태

다음 표현을 구분하세요.

틀린 형태: If I knew her address, I would visited her.

올바른 형태: If I knew her address, I would visit her.

would 뒤에는 동사원형이 와야 합니다.

가정법 과거 한 줄 암기: 현재 또는 미래의 비현실적 상황 → If절 과거형 + 주절 would/could/might + 동사원형.

3. 가정법 과거완료 공식과 대표 예문 15개

① 가정법 과거완료의 기본 형태

If + S + had + p.p., S + would/could/might + have + p.p.

해석: 만약 그때 ~했더라면, …했을 텐데

가정법 과거완료는 이미 지나간 과거를 실제와 다르게 가정합니다.

실제로 일어나지 않은 과거의 행동이나 결과를 상상하거나 과거의 상황에 대한 아쉬움을 표현할 때 자주 사용됩니다.

② had + p.p.와 would have + p.p.의 역할

If I had studied harder, I would have passed the exam.

내가 더 열심히 공부했더라면 시험에 합격했을 텐데.

If I had studied harder: 과거에 실제로는 충분히 열심히 공부하지 않았다는 가정

I would have passed the exam: 실제로는 합격하지 않았다는 상황을 전제로 상상한 결과

이와 같은 전형적인 반사실 가정법에서는 문장의 숨은 실제 상황을 반대로 이해할 수 있습니다. 다만 가정법이 언제나 실제 사실을 확정적으로 알려주는 것은 아니므로 문맥도 함께 고려해야 합니다.

③ 가정법 과거완료 예문 15개

번호 영어 예문 한국어 해석
1 If I had studied harder, I would have passed the exam. 더 열심히 공부했더라면 시험에 합격했을 텐데.
2 If I had known the truth, I would have told you. 진실을 알았더라면 너에게 말했을 텐데.
3 If she had left earlier, she would have caught the train. 그녀가 더 일찍 출발했더라면 기차를 탔을 텐데.
4 If it had not rained, we could have played soccer. 비가 오지 않았더라면 축구를 할 수 있었을 텐데.
5 If he had called me, I would have helped him. 그가 전화했더라면 도와주었을 텐데.
6 If we had taken a taxi, we would have arrived on time. 택시를 탔더라면 제시간에 도착했을 텐데.
7 If I had saved more money, I could have bought the camera. 돈을 더 모았더라면 그 카메라를 살 수 있었을 텐데.
8 If you had listened carefully, you would have understood. 주의 깊게 들었더라면 이해했을 텐데.
9 If they had practiced more, they might have won. 더 많이 연습했더라면 이겼을지도 모를 텐데.
10 If I had seen her, I would have said hello. 그녀를 봤더라면 인사했을 텐데.
11 If the road had been clear, we would have arrived earlier. 도로가 막히지 않았더라면 더 일찍 도착했을 텐데.
12 If he had worn a coat, he would not have felt so cold. 코트를 입었더라면 그렇게 춥지 않았을 텐데.
13 If I had brought my umbrella, I would not have gotten wet. 우산을 가져왔더라면 젖지 않았을 텐데.
14 If we had booked earlier, we could have found cheaper tickets. 더 일찍 예약했더라면 더 저렴한 표를 구할 수 있었을 텐데.
15 If she had received the message, she would have replied. 그녀가 메시지를 받았더라면 답장했을 텐데.

④ 과거완료형과 과거분사 암기

가정법 과거완료에서는 had 뒤와 would have 뒤에 과거분사(p.p.)가 들어갑니다.

동사원형 과거형 과거분사
go went gone
see saw seen
know knew known
take took taken
write wrote written
eat ate eaten

⑤ 가정법 과거완료에서 자주 나오는 오류

틀린 문장: If I had known, I would have went there.

올바른 문장: If I had known, I would have gone there.

would have 뒤에는 과거형 went가 아니라 과거분사 gone이 필요합니다.

가정법 과거완료 한 줄 암기: 과거 사실의 반대 → If절 had + p.p. + 주절 would/could/might have + p.p.

4. 가정법 과거와 과거완료 차이 및 혼합가정법

① 두 가지 가정법 비교

구분 가정법 과거 가정법 과거완료
반대로 가정하는 시점 현재·미래 과거
If절 동사 과거형 had + p.p.
주절 동사 would + 동사원형 would have + p.p.
기본 해석 ~라면 …할 텐데 ~했더라면 …했을 텐데
대표 예문 If I were rich, I would buy it. If I had been rich, I would have bought it.

② 같은 상황을 현재와 과거로 비교하기

현재: If I knew her address, I would write to her.

그녀의 주소를 안다면 편지를 쓸 텐데.

과거: If I had known her address, I would have written to her.

그녀의 주소를 알았더라면 편지를 썼을 텐데.

첫 문장의 knew는 현재 주소를 모르는 상황을 상상합니다. 두 번째 문장의 had known은 과거에 주소를 몰랐던 상황을 반대로 가정합니다.

③ 혼합가정법: 과거의 일이 현재 결과에 영향을 줄 때

If + S + had + p.p., S + would/could/might + 동사원형

만약 과거에 ~했더라면, 지금 …할 텐데

혼합가정법은 If절과 주절의 가정 시점이 서로 다를 때 사용하는 구조입니다.

If I had studied medicine, I would be a doctor now.

내가 과거에 의학을 공부했더라면 지금 의사일 텐데.

If she had taken that job, she would live in London now.

그녀가 그 직장을 선택했더라면 지금 런던에 살고 있을 텐데.

If I had gone to bed earlier, I would not be so tired now.

어젯밤 더 일찍 잠들었더라면 지금 이렇게 피곤하지 않을 텐데.

④ 반대 방향의 혼합가정법도 가능하다

현재의 상태가 과거의 결과에 영향을 주었을 것이라고 상상하는 구조도 있습니다.

If I were more careful, I would not have made that mistake yesterday.

내가 좀 더 신중한 사람이라면 어제 그런 실수를 하지 않았을 텐데.

다만 학교 시험에서는 과거 조건 → 현재 결과의 혼합가정법이 대표적으로 자주 다루어집니다.

혼합가정법 핵심: now, today, at present 같은 시간 표현이 주절에 있으면 과거 조건이 현재 결과로 이어지는 혼합가정법인지 확인하세요. 단, 시간부사가 없어도 문맥상 혼합가정법이 성립할 수 있습니다.

5. 직설법 전환·I wish·as if·Without·가정법 도치 공식

① 가정법 과거를 직설법으로 전환하기

가정법: If I had enough money, I could buy the bag.

돈이 충분하다면 가방을 살 수 있을 텐데.

직설법: I do not have enough money, so I cannot buy the bag.

돈이 충분하지 않아서 가방을 살 수 없다.

전형적인 반사실 가정법을 직설법으로 바꿀 때에는 가정한 상황과 실제 상황의 반대 관계를 표현합니다.

② 가정법 과거완료를 직설법으로 전환하기

가정법: If I had left earlier, I would have caught the bus.

더 일찍 출발했더라면 버스를 탔을 텐데.

직설법: I did not leave earlier, so I did not catch the bus.

일찍 출발하지 않았기 때문에 버스를 타지 못했다.

③ I wish + 가정법 과거

현재 사실과 다른 바람을 나타냅니다.

I wish + S + 과거형

I wish I were taller.

내 키가 더 크면 좋을 텐데.

I wish I knew the answer.

그 답을 알면 좋을 텐데.

④ I wish + 가정법 과거완료

이미 지나간 과거에 대한 아쉬움을 나타냅니다.

I wish + S + had + p.p.

I wish I had studied harder.

내가 더 열심히 공부했더라면 좋았을 텐데.

I wish I had not said that.

그 말을 하지 않았더라면 좋았을 텐데.

⑤ as if + 가정법

as if는 '~인 것처럼'이라는 의미이며 현실과 다른 상황을 표현할 때 가정법과 함께 사용할 수 있습니다.

He talks as if he knew everything.

그는 모든 것을 아는 것처럼 말한다.

He talks as if he had seen the accident.

그는 그 사고를 직접 본 것처럼 말한다.

하지만 as if 뒤에 항상 가정법이 오는 것은 아닙니다. 사실일 가능성을 열어 두는 경우 직설법 형태도 사용할 수 있습니다.

⑥ Without / But for 가정법

Without과 But for는 가정법 문맥에서 '만약 ~이 없다면', '만약 ~이 없었더라면'이라는 뜻을 표현할 수 있습니다.

Without your help, I could not finish this work.

네 도움이 없다면 이 일을 끝낼 수 없을 텐데.

But for your advice, I would have made a mistake.

네 조언이 없었더라면 실수했을 텐데.

이 표현들의 실제 시간 관계는 주절과 문맥을 보고 판단해야 합니다.

⑦ If 생략 가정법 도치

격식 있는 문장에서 If를 생략하고 주어와 were 또는 had의 순서를 바꿀 수 있습니다.

가정법 과거

If I were you, I would accept the offer.

→ Were I you, I would accept the offer.


가정법 과거완료

If I had known the truth, I would have acted differently.

→ Had I known the truth, I would have acted differently.

일반 동사의 가정법 과거를 If만 지우고 바로 도치할 수 있는 것은 아닙니다. 가능한 도치 구조를 구별해야 합니다.

6. 내신·수능 영어에서 자주 틀리는 가정법 함정 8가지

실수 1. 가정법 과거를 과거 사실이라고 해석하기

If I were rich는 '내가 과거에 부자였다면'이 아니라 보통 '내가 지금 부자라면'이라는 뜻입니다.

실수 2. If절에 would를 무조건 넣기

If I would know the answer, I would tell you. (기본 공식의 의도와 맞지 않음)

If I knew the answer, I would tell you. (정답)

단, 영어에는 의지·정중한 요청 등을 나타내는 If you would… 등의 별도 용법이 있어 'if절에는 would가 절대 올 수 없다'고 외우면 부정확합니다.

실수 3. would 다음에 과거형을 사용하기

주절의 would, could, might 뒤에는 동사원형이 옵니다.

would went (X) → would go (O)

실수 4. 과거완료에 과거분사를 잘못 사용하기

had saw (X) → had seen (O)

would have took (X) → would have taken (O)

실수 5. had + p.p.를 모두 가정법이라고 판단하기

had + p.p.는 일반적인 과거완료 시제에서도 사용됩니다.

When I arrived, she had already left.

내가 도착했을 때 그녀는 이미 떠난 뒤였다.

이 문장은 과거 사건의 선후관계를 표현하는 직설법이지 가정법 과거완료가 아닙니다.

실수 6. could have p.p.가 언제나 가정법이라고 생각하기

could have + p.p.는 문맥에 따라 과거에 가능했지만 실제로 하지 않은 일이나 과거 사건에 대한 추측 등에도 쓰입니다.

따라서 If절이 없더라도 문맥을 확인해야 정확하게 해석할 수 있습니다.

실수 7. I wish와 If의 문장 구조를 혼동하기

I wish I had known은 과거에 알았더라면 좋았을 텐데라는 소망·후회 표현입니다.

If I had known은 조건절이므로 일반적으로 이어지는 결과절과 함께 해석해야 합니다.

실수 8. 혼합가정법에서 시점을 확인하지 않기

If I had eaten breakfast, I would not be hungry now.

과거에 아침을 먹었더라면 지금 배고프지 않을 텐데.

과거 조건과 현재 결과가 결합된 문장이므로 주절에 would have eaten 형태를 기계적으로 사용하면 의미가 달라집니다.

시험 풀이 전략: 가정법 문제는 먼저 기준 시점(현재·미래 / 과거 / 혼합)을 확인하고, 그다음 If절의 동사 형태와 주절의 조동사 형태가 맞는지 살펴보세요.

7. 가정법 과거·과거완료 실전 연습문제 12개

먼저 정답을 보지 말고 빈칸을 채워 보세요.

1. If I (be) ______ you, I would study English every day.

2. If she (have) ______ more money now, she would buy the bag.

3. If he knew the answer, he (tell) ______ us.

4. If it (not rain) ______ now, we could go outside.

5. If I (study) ______ harder last year, I would have passed the test.

6. If she had left earlier, she (catch) ______ the train.

7. If we (know) ______ about the party, we would have attended it.

8. If he had saved money, he (buy) ______ a car last year.

9. If I had taken your advice, I (be) ______ happier now.

10. I wish I (know) ______ her phone number now.

11. I wish I (not say) ______ those words yesterday.

12. If I had known the truth, I would have helped you. → If를 생략한 도치 문장으로 바꾸시오.

정답 및 해설

번호 정답 해설
1 were 현재 반대 가정, If I were you
2 had 현재 사실의 반대 → 가정법 과거
3 would tell would + 동사원형
4 were not raining 현재 진행 상황의 반대 가정
5 had studied 과거 반대 → had + p.p.
6 would have caught 과거 결과 → would have + p.p.
7 had known 과거에 알지 못한 사실의 반대
8 could have bought 과거 구매 가능성의 가정
9 would be 과거 조건 → 현재 결과 혼합가정법
10 knew 현재의 소망, I wish + 과거형
11 had not said 과거 후회, I wish + had + p.p.
12 Had I known the truth, I would have helped you. If 생략 후 had와 주어 도치

※ 4번은 '현재 비가 내리고 있다'는 진행 상황을 반대로 가정한 표현입니다. 8번은 과거 구매 가능성을 강조하기 위해 could have bought를 선택했으며, 문맥에 따라 would have bought도 문법적으로 가능합니다.

복습 방법: 틀린 문제는 정답만 외우지 말고 '현재를 가정했는가?', '과거를 가정했는가?', '현재와 과거가 섞였는가?'를 먼저 표시한 뒤 동사를 다시 써보세요.

8. 가정법 자주 묻는 질문과 최종 암기표

Q1. 가정법 과거는 과거 사실을 뜻하나요?

아닙니다. 기본적으로 현재 또는 미래의 비현실적인 상황을 표현합니다.

Q2. 가정법 과거완료는 언제 사용하나요?

이미 지나간 과거에 일어나지 않은 상황을 상상하거나 과거 사실과 다른 결과를 이야기할 때 사용합니다.

Q3. If I was와 If I were 중 무엇이 맞나요?

비현실적인 가정을 표현하는 격식 있는 영어와 학교 시험에서는 If I were를 기본으로 익히세요. 구어체에서는 If I was도 나타납니다.

Q4. 가정법 과거에서 had가 나오면 과거완료인가요?

그렇지 않습니다. If I had more money에서 had는 have의 과거형이며 가정법 과거입니다. If I had had more money는 had + 과거분사 had의 구조로 가정법 과거완료입니다.

Q5. would 대신 could를 사용해도 되나요?

가능하지만 의미가 달라질 수 있습니다. would는 예상 결과, could는 능력이나 가능성을 주로 표현합니다.

Q6. 가정법 과거완료에서 have를 생략할 수 있나요?

기본 공식에서는 would have + p.p.를 사용합니다. would + 동사원형으로 바꾸면 과거의 결과가 아닌 현재나 미래의 결과를 가정하는 혼합가정법이 될 수 있습니다.

Q7. 혼합가정법이란 무엇인가요?

조건절과 주절에서 표현하는 시간의 기준이 다른 가정법입니다. 대표적으로 과거의 조건과 현재의 결과를 연결합니다.

Q8. I wish와 If의 차이는 무엇인가요?

I wish는 현재와 다른 바람 또는 과거에 대한 후회를 나타내고, If는 특정 조건을 가정하여 결과와 연결합니다.

Q9. If를 생략하면 항상 도치해야 하나요?

격식 있는 가정법에서 If를 생략해 도치하는 경우에는 Were I…, Had I… 등의 구조를 사용합니다. 모든 if절을 자유롭게 도치할 수 있는 것은 아닙니다.

Q10. 가정법 문제를 가장 빠르게 푸는 방법은 무엇인가요?

시간 표현을 확인한 뒤 조건절과 주절의 동사 형태를 비교하세요. 현재인지 과거인지, 또는 혼합가정법인지 판단하는 것이 출발점입니다.

가정법 공식 최종 암기표

유형 If절 주절
가정법 과거 과거형 would + 원형
가정법 과거완료 had + p.p. would have + p.p.
혼합가정법 대표형 had + p.p. would + 원형

✅ 시험 전 최종 체크리스트

□ 현재 또는 미래의 반대 가정은 과거형을 사용하나요?

□ 과거의 반대 가정은 had + p.p.를 사용하나요?

□ 가정법 과거의 주절은 would + 동사원형인가요?

□ 과거완료의 주절은 would have + p.p.인가요?

□ be동사의 were 형태를 기억하나요?

□ would·could·might의 의미 차이를 구별하나요?

□ had와 had had의 차이를 이해하나요?

□ 혼합가정법에서 조건과 결과의 시점을 구분하나요?

□ I wish + 과거형과 had + p.p.를 구별하나요?

□ Had I known과 If I had known이 대응한다는 점을 아나요?

□ 직설법으로 전환할 때 실제 사실과 반대 관계를 확인하나요?

□ 동사원형과 과거분사를 혼동하지 않나요?

가정법을 구분하는 가장 쉬운 방법은 '지금 사실과 반대인가, 과거 사실과 반대인가?'를 먼저 묻는 것입니다.

현재의 상황을 반대로 상상하면 가정법 과거, 이미 지나간 일을 반대로 가정하면 가정법 과거완료를 사용합니다. 여기에 과거의 조건이 현재 결과까지 영향을 주는 경우 혼합가정법을 적용하면 됩니다.

추가 학습 참고자료

① Cambridge Dictionary — Conditionals: if

조건문과 가정법의 다양한 형태

② British Council LearnEnglish — Conditionals

조건문과 비현실적인 가정 표현 학습

③ EBSi

내신·수능 영어 문법 학습 자료

④ 한국교육과정평가원 수능 홈페이지

수능 영어 공식 기출 및 시험 안내

※ 본 글은 가정법 과거, 가정법 과거완료, 혼합가정법을 이해하기 위한 교육용 설명입니다. 예문은 학습을 위해 작성했으며 공식 평가원 기출문제가 아닙니다. 실제 영어에서는 문맥과 격식에 따라 다양한 조건문과 가정법 표현이 사용될 수 있으므로 단순 암기 공식과 실제 언어 사용을 함께 구분해 학습하세요.

반응형