다음 코드의 실행 결과는?
다음 코드의 실행 결과는?
<?php
class Calculator {
const PI = 3.14159;
public function __construct() {
self::PI = 3.14; // 이 라인의 결과는?
}
public function getPI() {
return self::PI;
}
}
$calc = new Calculator();
echo $calc->getPI();
?>
정답: C
이 코드는 상수의 불변성 원칙을 위반하여 오류가 발생합니다.
오류 발생 이유:
⦁ 상수는 불변: 한 번 선언된 상수는 값을 변경할 수 없음
⦁ 할당 시도:
self::PI = 3.14
에서 상수 값을 변경하려고 시도⦁ Fatal Error: "Cannot assign to a class constant" 오류 발생
상수의 특징:
⦁ 선언 시점에만 값 설정 가능
⦁ 런타임에 값 변경 절대 불가
⦁ 컴파일 타임에 값이 결정됨
올바른 사용법:
const PI = 3.14159; // 선언과 동시에 값 설정
// 이후 변경 불가
💡 학습 팁
이 문제를 포함한 PHP 과목의 모든 문제를 순차적으로 풀어보세요. 진행상황이 자동으로 저장되어 언제든지 이어서 학습할 수 있습니다.