1. When I do / When I've done
I'll call you when I get home from work. (tomorrow)
이 문장은 두 부분으로 구성되어 있습니다.
주 절: I'll call you
When 절: when I get home from work (tomorrow)
문장의 시간은 미래(tomorrow)입니다. 그러나 when 절은 현재 시제 (get)를 사용합니다. When 절에 will을 사용하지 않습니다.
We'll go out when it stops raining. (not when it will stop)
When you are in Los Angles again, give us a call. (not When you will be)
(said to child) What do you want to be when you grow up? (not will grow)
이러한 법칙은 while / before / after / as soon as / until 또는 till 에도 동일하게 적용됩니다.
I'm going to read a lot of books while I'm on vacation. (not while I will be)
I'm going to back home on Sunday. Before I go, I'd like to visit the museum.
Wait here until (or till) I come back.
현재 완료 (have done) 역시 when / after / until / as soon as 뒤에서 사용될 수 있습니다.
Can I borrow that book when you've finished it?
Don't say anything while Ben is here. Wait until he has gone.
종종 단순 현재와 현재 완료가 혼용되기도 합니다.
I'll come as soon as I finish. or I'll come as soon as I've finished.
You'll feel better after you have something to eat. or You'll feel better after you've had something to eat.
그러나 두 가지 일이 동시에 발생되는 경우에는 현재 완료를 사용하면 안됩니다. 현재 완료는 한 가지가 다른 것에 앞서 완결된 것을 표현합니다. 그러므로 동시에 두 가지 일이 벌어지지 않습니다.
When I've called Kate, we can have dinner. (먼저 내가 Kate에게 전화를 걸고 난 후 같이 저녁식사를 할 것입니다.)
but When I call Kate this evening, I'll invite her to the party. (not When I've called) (여기서는 두 가지 일이 동시에 일어났습니다.)
일반적으로 if 다음에 미래를 위한 표현으로 단순 현재(do/does, 등)를 사용합니다.
It's raining hard. We'll get wet if we go out. (not we will go)
Hurry up! If we don't hurry, we'll be late.
2. when과 if
when은 일이 확실히 벌어질 것을 전제로 사용합니다.
I'm going shopping this afternoon. When I go shopping, I'll buy some food.
if는 일이 벌어질 가능성이 있다라는 전제로 사용합니다. 안 벌어질 수도 있습니다.
I might go shopping this afternoon. If I go shopping, I'll buy some food.
Don't worry if I'm late tonight. (not when I'm late)
If they don't come soon, I'm not going to wait. (not When they don't come)