반응형
Web Development · runtime concept
런타임(runtime) —
"실제 실행 중인 상태"의 의미
메서드 오버라이딩이 결정되는 시점
시작 오늘의 개념
"클래스의 메모리상의 동작" — 실무에서는 이를 런타임 상태라고 부른다.
예: "Guest 클래스의 객체가 런타임 상태에서는 메서드 오버라이딩을 해서 Guest 클래스 객체에 있는 메서드를 실행한다."
1 컴파일 타임 vs 런타임
| 단계 | 의미 | 예 |
|---|---|---|
컴파일 타임 |
코드가 작성되어 검사·번역되는 시점 | 구문 오류, 타입 검사 (PHP는 약함) |
런타임 |
코드가 실제로 실행되는 시점 | 객체 생성, 메서드 호출, 변수 값 결정 |
2 메서드 오버라이딩은 런타임에 결정된다
$g = new Guest(); // 컴파일 타임엔 단순 코드 — 실행은 아직 $g->print_hello(); // 런타임에 PHP가 결정: // $g가 Guest 인스턴스 → Guest의 print_hello 사용 // (User의 같은 이름 메서드 무시)
이걸 동적 디스패치(dynamic dispatch)라고 부른다 — 어느 메서드를 부를지 실행 중에 결정.
3 객체의 런타임 상태
$user = new User(); $user->name = "철수"; // 런타임 상태 (메모리 안): // - $user는 User 객체 // - $user의 name 프로퍼티 값: "철수" // - $user의 메서드 테이블: User::print_hello
반응형
4 실무 표현
"런타임에는 ~한다"는 표현은 OOP 설명에서 자주 쓰인다 — "코드를 보면 안 보이지만 실행 중에 일어나는 일"을 가리키는 것.
핵심 한 줄 요약
런타임코드가 실제로 실행되는 시점·상태
컴파일 타임코드 검사·번역 단계 (실행 전)
동적 디스패치메서드 호출이 런타임에 결정
오버라이딩실행 시점의 객체 타입에 따름
실무 표현"런타임에는 X" = "실행 중에 X가 일어난다"
PHP 특성동적 언어 — 거의 모든 게 런타임에 결정
디버깅var_dump·xdebug로 런타임 상태 관찰
반응형
'php' 카테고리의 다른 글
| PHP __construct — 생성자와 미구현 메서드 완전 정리 (0) | 2026.06.18 |
|---|---|
| PHP 개인테스트 — form + class + getter/setter 연동 완전 정리 (0) | 2026.06.18 |
| PHP trait — 수평 상속(다중 코드 재사용) 완전 정리 (0) | 2026.06.18 |
| PHP extends — 클래스 상속과 메서드 오버라이딩 완전 정리 (0) | 2026.06.18 |
| PHP Member 클래스 — getter/setter로 회원 정보 관리 완전 정리 (0) | 2026.06.18 |
왕진 블로그

댓글