다음 코드에서 빈칸에 들어갈 올바른 접근 제한자는?
다음 코드에서 빈칸에 들어갈 올바른 접근 제한자는?
<?php
class Fruit {
public $name;
_______ function setName($n) {
$this->name = $n;
}
protected function setColor($c) {
// protected 메서드
}
}
$apple = new Fruit();
$apple->setName('Apple'); // 정상 실행되어야 함
?>
정답: C
클래스 외부에서
$apple->setName('Apple')
을 호출할 수 있으려면 해당 메서드가 public
이어야 합니다.접근 제한자별 호출 가능 범위:
⦁
public
- 클래스 외부에서도 호출 가능 ✓⦁
protected
- 같은 클래스나 상속받은 클래스에서만 호출 가능 ✗⦁
private
- 해당 클래스 내부에서만 호출 가능 ✗⦁
static
- 접근 제한자가 아닌 정적 메서드 키워드코드에서
$apple->setName('Apple')
이 정상 실행되려면 setName
메서드가 외부 접근을 허용해야 하므로 public
이 정답입니다. 실제로 접근 제한자를 명시하지 않으면 기본적으로 public
으로 처리됩니다.
💡 학습 팁
이 문제를 포함한 PHP 과목의 모든 문제를 순차적으로 풀어보세요. 진행상황이 자동으로 저장되어 언제든지 이어서 학습할 수 있습니다.