would have, could have, should have는 어떻게 다른가요?

would have, could have, should have는 모두 “과거에 실제로 일어나지 않은 일”을 말할 때 씁니다. 뒤에는 동사의 과거분사(p.p.)가 옵니다. should have는 “~했어야 했는데”라는 후회·충고, could have는 “~할 수도 있었는데”라는 가능성, would have는 “~했을 텐데”라는 가정의 결과를 나타냅니다. 셋 다 실제로는 그 일이 일어나지 않았다는 공통점이 있습니다.

 

핵심 차이 한눈에 보기

표현 쓰는 상황
should have + p.p. ~했어야 했는데 (안 함) 후회, 과거에 대한 충고
could have + p.p. ~할 수도 있었는데 (안 함) 과거의 가능성·능력
would have + p.p. ~했을 텐데 가정의 결과(다른 조건이었다면)

 

should have — 했어야 했는데 (후회·충고)

should have + 과거분사는 “그렇게 했어야 했는데 하지 않았다”는 뜻입니다. 자신에 대해 쓰면 후회, 상대에게 쓰면 과거에 대한 충고가 됩니다.

  • I should have studied harder.
    (더 열심히 공부했어야 했는데.)
  • You should have told me earlier.
    (나한테 더 일찍 말했어야지.)
  • We should have booked the tickets in advance.
    (우리 표를 미리 예매했어야 했어.)

 

could have — 할 수도 있었는데 (가능성)

could have + 과거분사는 “그렇게 할 수 있었지만 하지 않았다”는 뜻입니다. 과거의 가능성이나 능력을 나타냅니다.

  • I could have gone to the party, but I was tired.
    (파티에 갈 수도 있었지만 피곤했어.)
  • She could have won, but she didn’t practice enough.
    (그녀는 이길 수도 있었지만 충분히 연습하지 않았어.)
  • You could have called me.
    (나한테 전화할 수도 있었잖아.)

 

would have — 했을 텐데 (가정의 결과)

would have + 과거분사는 “다른 조건이었다면 그렇게 했을 것이다”라는 뜻입니다. 주로 사실과 반대되는 가정의 결과를 말할 때 씁니다.

  • I would have called, but there was no signal.
    (전화했을 텐데, 신호가 없었어.)
  • He would have helped, but he was busy.
    (그가 도왔을 텐데, 바빴어.)
  • If I had known, I would have come earlier.
    (알았더라면 더 일찍 왔을 텐데.)

 

한 문장으로 비교하기

같은 상황을 세 표현으로 바꾸면 차이가 또렷해집니다.

  • I should have helped him.
    (그를 도왔어야 했는데. → 후회)
  • I could have helped him.
    (그를 도울 수도 있었는데. → 가능성)
  • I would have helped him, if I had had time.
    (시간이 있었다면 그를 도왔을 텐데. → 가정)

 

정리

  • 셋 다 과거에 실제로 일어나지 않은 일을 말합니다.
  • should have는 후회·충고, could have는 가능성, would have는 가정의 결과입니다.
  • 뒤에는 항상 동사의 과거분사(p.p.)가 옵니다.

 

자주 묻는 질문 (FAQ)

should have, could have, would have의 공통점은 무엇인가요?

셋 다 과거에 실제로는 일어나지 않은 일을 말합니다. 뒤에는 동사의 과거분사(p.p.)가 옵니다. 차이는 후회(should have), 가능성(could have), 가정의 결과(would have)라는 의미에 있습니다.

should have는 후회할 때만 쓰나요?

자신에 대해 쓰면 후회가 되고, 상대에게 쓰면 과거에 대한 충고가 됩니다. 예를 들어 “I should have studied.(공부했어야 했는데.)”는 후회, “You should have told me.(나한테 말했어야지.)”는 충고입니다.

could have와 would have는 어떻게 구분하나요?

could have는 “할 수 있었는데 안 했다”는 가능성·능력에, would have는 “다른 조건이었다면 했을 것이다”라는 가정의 결과에 씁니다. would have는 보통 if절(가정) 문장과 함께 자주 쓰입니다.

뒤에 오는 동사 형태는 무엇인가요?

항상 동사의 과거분사(p.p.)가 옵니다. 예를 들어 go의 과거분사는 gone이므로 “should have gone”, call의 과거분사는 called이므로 “would have called”가 됩니다.

회화에서 줄여서 발음하나요?

네. 실제 대화에서는 should have가 “should’ve”, could have가 “could’ve”, would have가 “would’ve”로 줄어 발음됩니다. 빠르게 말하면 “shoulda, coulda, woulda”처럼 들리기도 합니다. 다만 글로 쓸 때는 should have처럼 풀어 쓰는 것이 바릅니다.

해당 글에는 AI를 활용한 이미지가 첨부되어 있습니다.

이 포스팅은 쿠팡 파트너스 활동의 일환으로 이에 따른 일정액의 수수료를 제공받습니다.