현재완료 용법 총정리
현재완료는 과거에 일어난 일이 현재까지 영향을 줄 때 씁니다. 함께 쓰인 부사를 보면 용법이 거의 결정됩니다.
형태
have/has + 과거분사(p.p.) · 부정문 have not(haven't) + p.p. · 의문문 Have/Has + 주어 + p.p. ~?
4가지 용법
| 용법 | 해석 | 함께 쓰는 말 | 예문 |
|---|---|---|---|
| 완료 | 막 ~했다 | just, already, yet | I have just finished my homework. |
| 경험 | ~한 적 있다 | ever, never, before, once, ~times | Have you ever been to Jeju? |
| 계속 | ~해 왔다 | for + 기간, since + 시점, how long | I have lived here for 5 years. |
| 결과 | ~해 버렸다 (그래서 지금 …) | lose, go, leave 등 | She has lost her phone. |
과거시제와의 차이
- 명확한 과거 시점(yesterday, last week, ago, in 2020, when ~)은 현재완료와 함께 쓸 수 없습니다.
- ✗ I have seen him yesterday. → ○ I saw him yesterday.
- When 의문문도 현재완료와 쓰지 않습니다: ✗ When have you arrived?
have been to vs have gone to
- have been to: ~에 가 본 적 있다 (경험) / ~에 갔다 왔다
- have gone to: ~에 가 버렸다 (결과, 지금 여기 없음) — 주어로 1·2인칭은 보통 쓰지 않음
현재완료 진행
have/has been + -ing: 과거부터 지금까지 계속 진행 중인 동작 It has been raining since morning.
자주 묻는 질문
- for와 since의 차이는?
- for 뒤에는 기간(for 3 years), since 뒤에는 시작 시점(since 2020)이 옵니다.
- 현재완료와 yesterday를 같이 쓸 수 있나요?
- 쓸 수 없습니다. 명확한 과거 시점은 과거시제로 씁니다.