
조동사+have+과거분사
I [must / should] have phoned Ed this morning, but I forgot.
개념과 원리
1. [may have +과거분사]는 [~이었을지도 모른다]는 의미로 과거 사실에 대한 추측을 나타낸다.
You were stupid to try climbing up there. You may have killed yourself.
[must have +과거분사]는 [~이었음에 틀림없다]는 의미로 과거 사실에 대한 확실한 추측을 나타낸다.
Peter isn't in the classroom. He must have gone home.
[cannot have + 과거분사]는 [~이었을 리가 없다]는 의미로 과거 사실에 대한 부정적 추측을 나타낸다.
Today's Sunday. Edna can't have gone to school.
2. [should(ought to) +have +과거분사]는 [~을 했어야 했는데(실제로 하지 않았음)]의 의미로, [should not(ought not to) have + 과거분사]는 [~을 하지 말았어야 했는데(실제로 했음)]의 의미로 과거 사실에 대한 유감을 나타낸다.
Ten o'clock: She should have arrived here by now.
You shouldn't have called her a fool - it really upset her.
I ought to have received the letter by now.
1. [need not have + 과거분사]는 [~할 필요가 없었는데 실제로 했음]을 나타낸다.
You need not have met my teacher.
2. [could/would/might have +과거분사]는 [과거 사실에 대한 추측]이나 [가정법 과거완료]의 주절로 [과거 사실에 대한 반대]의 의미를 나타낸다.
What was that noise? It might have been a cat
I could have won the race if I hadn't fallen.