PHP · 객체지향
생성자 주입
의존 객체를 생성자에서 주입받는 가장 기본적인 DI 예제입니다.
객체지향중급dependency-injectionconstructorservice
핵심 설명
의존 객체를 생성자에서 주입받는 가장 기본적인 DI 예제입니다.
PHP code
<?php
interface Clock {
public function now(): string;
}
class SystemClock implements Clock {
public function now(): string {
return date('c');
}
}
class ReportService {
public function __construct(private Clock $clock) {}
public function generate(): string {
return 'generated at ' . $this->clock->now();
}
}
echo (new ReportService(new SystemClock()))->generate();학습 팁
클래스 예제는 생성자, 가시성, 협력 객체의 책임을 함께 보면 실무 감각이 빨리 붙습니다.
주의할 점
가시성, final, readonly 제약을 무시하면 객체 설계가 금방 흐트러집니다.
자주 묻는 질문
생성자 주입란 무엇인가요?
의존 객체를 생성자에서 주입받는 가장 기본적인 DI 예제입니다.
생성자 주입 학습 시 주의할 점은 무엇인가요?
가시성, final, readonly 제약을 무시하면 객체 설계가 금방 흐트러집니다.
Continue Learning
PHP 학습을 이어가세요
총 200개의 독립 HTML 학습 문서 중 하나입니다. 각 문서는 고유 URL과 canonical 메타데이터를 가집니다.