| 항목 | 설명 |
|---|---|
Forward Declaration (class Foo;) |
"Foo라는 타입이 있다고만 알려주는 것" |
Header Include (#include "Foo.h") |
"Foo의 정의 전체를 가져오겠다"는 의미 |
| 항목 | Forward Declaration | Header Include |
|---|---|---|
| 무엇을 하나요? | 타입의 존재만 알려줌 | 타입의 정의 전체를 포함 |
| 헤더 크기 영향 | 작음 (빠름) | 크고 느려짐 |
| 컴파일 시간 | 빨라짐 | 느려짐 (불필요한 의존 증가) |
| 가능한 사용 | 포인터, 참조형만 가능 (Foo*, Foo&) |
모든 사용 가능 (멤버 접근, sizeof 등) |
| 불가능한 사용 | 멤버 변수 직접 접근, 인스턴스 생성, sizeof 등 | 전부 가능 |
| UCLASS, USTRUCT 등 | 안 됨 | 무조건 include 필요 |