다음 코드에서 오류가 발생하지 않는 라인은?

과목: PHP

문제 번호: 3001

medium
다음 코드에서 오류가 발생하지 않는 라인은?
<?php
class Fruit {
    public $name;
    protected $color;
    private $weight;
}

$apple = new Fruit();
$apple->name = 'Apple';     // 라인 A
$apple->color = 'Red';      // 라인 B  
$apple->weight = '200g';    // 라인 C
?>
A. 라인 A만
B. 라인 B만
C. 라인 C만
D. 라인 A, B, C 모두

정답: A



클래스 외부에서 속성에 접근할 때는 접근 제한자에 따라 결과가 달라집니다.

각 라인별 분석:

⦁ 라인 A ($apple->name = 'Apple') - 정상 실행
$namepublic 속성이므로 외부에서 접근 가능

⦁ 라인 B ($apple->color = 'Red') - 오류 발생
$colorprotected 속성이므로 클래스 외부에서 접근 불가
⦁ Fatal Error 발생

⦁ 라인 C ($apple->weight = '200g') - 오류 발생
$weightprivate 속성이므로 클래스 외부에서 접근 불가
⦁ Fatal Error 발생

protectedprivate 속성은 클래스 외부에서 직접 접근할 수 없습니다.

💡 학습 팁

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