다음 두 코드의 차이점에 대한 설명으로 올바른 것은?

코드 A (생성자 사용)

코드 B

과목: PHP

문제 번호: 2994

hard
다음 두 코드의 차이점에 대한 설명으로 올바른 것은?

코드 A (생성자 사용)
class Fruit {
    public $name;
    function __construct($name) {
        $this->name = $name;
    }
}
$apple = new Fruit("Apple");

코드 B (setter 메서드 사용)
class Fruit {
    public $name;
    function set_name($name) {
        $this->name = $name;
    }
}
$apple = new Fruit();
$apple->set_name("Apple");
A. 코드 A가 더 많은 코드 라인을 필요로 한다
B. 코드 B가 더 효율적이다
C. 코드 A가 더 간결하고 효율적이다
D. 두 코드의 효율성은 동일하다

정답: C



생성자를 사용한 코드 A가 더 간결하고 효율적입니다.

코드 A의 장점:
⦁ 객체 생성과 초기화가 한 번에 이루어짐
new Fruit("Apple") 한 줄로 완전한 객체 생성
⦁ 필수 속성을 빠뜨릴 위험이 없음
⦁ 객체가 생성된 순간부터 사용 가능한 상태

코드 B의 단점:
⦁ 객체 생성 후 별도의 초기화 과정 필요
⦁ 두 단계로 나누어진 작업: new Fruit()set_name()
⦁ 초기화를 깜빡할 가능성 존재
⦁ 더 많은 코드 작성 필요

생성자는 객체의 필수 데이터를 보장하고 코드의 안정성을 높이는 중요한 역할을 합니다.

💡 학습 팁

이 문제를 포함한 PHP 과목의 모든 문제를 순차적으로 풀어보세요. 진행상황이 자동으로 저장되어 언제든지 이어서 학습할 수 있습니다.