저는 had better를 "~하는 것이 더 낫다"라고 배웠습니다. 그래서 한 때 나름 돌려 말한다고 have to 대신에 많이 사용했었습니다. 지금 생각하면 상당히 "거시기"한 행동이었습니다.^^ 변명을 하자면 had better가 가지는 뉘앙스도 모른 체 "~하는 것이 더 낫다"로 외우고 있었으니 무리도 아니었지요.
1. had better (I'd better / you'd better 등)
I'd better do something은 권장할만한 것인데, 하지 않으면 문제가 생긴다는 의미로 사용됩니다. 경우에 따라서는 위험해지기도 하지요. 그래서 문장에 따라서는 조심해서 사용해야 하는 용법입니다. 대상이 you가 되면 warning의 의미가 들어갑니다. 다행히 아래 예문에는 그런 문장은 없네요:
I have to meet Amy in ten minutes. I'd better go now or I'll be late.
"Do you think I should take an umbrella?" "Yes, you'd better. It might rain."
We'd better stop for gas soon. The tank is almost empty.
이러한 표현이 나(I) 또는 우리(we)를 향하면 "내가 스스로 이렇게 하는 것이 낫겠다"라고 이야기하는 것이 되니 일종의 의지의 표현, 할 일 또는 계획을 표현하게 됩니다. 제 3자를 향하게 되면 경고 또는 의견 제시가 되겠지요.
부정형은 I'd better not (= I had better not) 이다:
"Are you going to out tonight?" "I'd better not. I've got a lot of work to do."
You don't look very well. You'd better not go to work today.
다른 사람에게 반드시 해야 한다고 경고할 때 사용합니다. 앞서 대상이 you가 되면 warning의 의미가 들어간다고 했습니다. 상대에게 뭔가를 권하는데, 그거 안 하면 문제가 생기거나 위험해지니 "권장"보다는 "경고"의 의미가 되어 버리는 것입니다:
You'd better be on time. / You'd better not be late. (or I'll be very angry)
위 예문은 "너 시간 지켜. / 늦으면 안돼." 이런 뜻입니다. 절대로 "시간을 지키는 것이 낫다. / 늦지 않는 것이 낫다." 이런 뜻 아닙니다. 시간을 지키지 못하면 문제가 생긴다는 경고성 메시지입니다.
일반적으로 구어체에서 "I'd better / You'd better"라고 말합니다만, 그 원래 형태는 "had better"입니다:
I'd better go now = I had better go now.
had는 과거 형이지만, 여기에서 의미는 현재 또는 미래입니다. 과거의 의미가 아닙니다:
I'd better go to the bank now/tomorrow.
had better 다음에는 동사 원형이 오며, 부정사는 사용하지 않습니다:
It might rain. We'd better take an umbrella. (not We'd better to take)
이런 had better의 문법적 특징들은 처음에 생소하게 느껴집니다. 이런 것들은 자연스러워질 때까지 자꾸 보고 외우고 생각하고 책을 읽을 때 대화할 때 곳곳에서 발견하며 몸에 붙여야 합니다.
2. Had better와 should
had better는 should와 비슷하긴 하지만 똑같지는 않습니다. had better는 안 하면 문제가 생기는 것이고 should는 하면 좋은 것입니다. 그러므로 had better는 "특정한 상황에 한정된 경우"에 사용되고, should는 "의견을 주거나 조언을 하는 광범위한 상황"에 사용됩니다:
It's cold today. You'd better wear a coat when you go out. (특별한 경우)
I think all drivers should wear seat belt. (일반적 - not "had better wear")
had better를 사용한 문장에서는 조언을 듣지 않으면 뭔가 문제가 생기거나 위험에 처하게 됩니다. 이에 반해 should의 의미는 하면 좋은 일입니다. 그러므로 should는 하면 좋고 아니면 할 수 없고 식의 논리가 통하지만, had better는 안 하면 좋지 않을걸 이라는 논리가 있습니다. 아래 예문들을 비교해보세요:
It's a great movie. You should go and see it.
The movie starts at 8:30. You'd better go now, or you'll be late.
첫 번째 문장은 영화를 보면 좋지만 안 봐도 그만입니다. 영화를 안봤다고 해서 문제가 생기지는 않습니다. 그러나 두 번째 문장에서는 지금 가지 않으면 늦게 되는 문제가 발생됩니다.
3. It's time...
"It's time (for someone) to do something"은 "다른 사람에게 뭔가를 할 시간이다" 라는 말을 할 때 사용합니다:
It's time to go home. / It's time for us to go home.
아래와 같은 형식으로도 사용할 수 있습니다:
It's late. It's time we went home.
여기에서 사용한 went는 과거 형이지만, 그 의미는 현재입니다. 우리 말로 해석하면 "집에 갔어야 할 시간이다." 정도가 되겠네요. 또 한가지 중요한 점은 went home입니다. went to home이라고 표현하지 않습니다. home 앞에는 전치사가 오지 않습니다. 예문을 하나 더 보겠습니다:
It's 10:00 and he's still in bed. It's time he got up. (not It's time he gets up)
"It's time you did something"은 이미 완료했거나 시작했어야 하는 일인데, 안 한 것을 이야기할 때 사용합니다. 이 it's time 구조는 종종 비난이나 불평에 사용됩니다:
It's time the children were in bed. It's long past their bedtime.
The windows are very dirty. I think it's time somebody washed them.
이러한 표현에는 "It's about time ... " 형식도 사용할 수 있습니다. 이 구조는 심하게 비난할 때 사용합니다:
Jack is a great talker. But it's about time he did something instead of just talking.