다음 코드에서 같은 클래스 내부에서 정적 메서드를 호출할 때 사용할 키워드는?
다음 코드에서 같은 클래스 내부에서 정적 메서드를 호출할 때 사용할 키워드는?
<?php
class Logger {
public static function writeLog($message) {
echo "Log: " . $message;
}
public function save($data) {
// 같은 클래스의 정적 메서드 호출
_______::writeLog("Data saved");
}
}
?>
정답: B
같은 클래스 내부에서 정적 메서드를 호출할 때는
self
키워드를 사용합니다.클래스 내부 정적 메서드 호출:
⦁
self::
- 현재 클래스의 정적 메서드/상수 접근⦁ 장점: 클래스명 변경 시 코드 수정 불필요
⦁ 가독성: 현재 클래스 내부 요소임을 명확히 표현
다른 키워드들의 용도:
⦁
$this
- 인스턴스 메서드에서 객체의 속성/메서드 접근⦁
parent
- 부모 클래스의 메서드 호출⦁
static
- 후기 정적 바인딩 (late static binding)올바른 코드:
self::writeLog("Data saved");
실행 시: save() 메서드 호출 시 "Log: Data saved" 출력
💡 학습 팁
이 문제를 포함한 PHP 과목의 모든 문제를 순차적으로 풀어보세요. 진행상황이 자동으로 저장되어 언제든지 이어서 학습할 수 있습니다.