다음 코드에서 객체의 속성값을 변경하는 두 가지 방법이 사용되었습니다. 이에 대한 설명으로
다음 코드에서 객체의 속성값을 변경하는 두 가지 방법이 사용되었습니다. 이에 대한 설명으로 올바른 것은?
<?php
class Fruit {
public $name;
function set_name($name) {
$this->name = $name;
}
}
$apple = new Fruit();
// 방법 1
$apple->set_name("Apple");
// 방법 2
$apple->name = "Red Apple";
echo $apple->name;
?>
정답: D
PHP에서는 public 속성에 대해 두 가지 방법 모두 유효하며, 최종 출력은 "Red Apple"입니다.
⦁ 방법 1 (메서드 사용):
$apple->set_name("Apple")
⦁ 클래스 내부의
set_name
메서드를 호출⦁
$this->name
을 통해 객체의 name 속성을 "Apple"로 설정⦁ 방법 2 (직접 접근):
$apple->name = "Red Apple"
⦁ 객체의 public 속성에 직접 접근하여 값 변경
⦁ 이전 값 "Apple"을 "Red Apple"로 덮어씀
두 방법 모두 실행되지만, 방법 2가 나중에 실행되어 최종값은 "Red Apple"이 됩니다. 실제 개발에서는 메서드를 통한 접근(방법 1)이 캡슐화 원칙에 더 적합합니다.
💡 학습 팁
이 문제를 포함한 PHP 과목의 모든 문제를 순차적으로 풀어보세요. 진행상황이 자동으로 저장되어 언제든지 이어서 학습할 수 있습니다.