다음 코드에서 빈칸에 들어갈 올바른 접근 제한자는?

과목: PHP

문제 번호: 3002

medium
다음 코드에서 빈칸에 들어갈 올바른 접근 제한자는?
<?php
class Fruit {
    public $name;
    
    _______ function setName($n) {
        $this->name = $n;
    }
    
    protected function setColor($c) {
        // protected 메서드
    }
}

$apple = new Fruit();
$apple->setName('Apple'); // 정상 실행되어야 함
?>
A. private
B. protected
C. public
D. static

정답: C



클래스 외부에서 $apple->setName('Apple')을 호출할 수 있으려면 해당 메서드가 public이어야 합니다.

접근 제한자별 호출 가능 범위:
public - 클래스 외부에서도 호출 가능 ✓
protected - 같은 클래스나 상속받은 클래스에서만 호출 가능 ✗
private - 해당 클래스 내부에서만 호출 가능 ✗
static - 접근 제한자가 아닌 정적 메서드 키워드

코드에서 $apple->setName('Apple')이 정상 실행되려면 setName 메서드가 외부 접근을 허용해야 하므로 public이 정답입니다. 실제로 접근 제한자를 명시하지 않으면 기본적으로 public으로 처리됩니다.

💡 학습 팁

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