다음 코드에서 같은 클래스 내부에서 정적 속성에 접근하는 올바른 방법은?

과목: PHP

문제 번호: 3035

medium
다음 코드에서 같은 클래스 내부에서 정적 속성에 접근하는 올바른 방법은?
<?php
class Counter {
    public static $count = 0;
    
    public function increment() {
        ________$count++;
    }
    
    public function getCount() {
        return ________$count;
    }
}
?>
A. $this::
B. self::
C. parent::
D. static::

정답: B



같은 클래스 내부에서 정적 속성에 접근할 때는 self:: 키워드를 사용합니다.

클래스 내부 정적 속성 접근:

self:: - 현재 클래스의 정적 속성/메서드 접근
⦁ 코드 유지보수: 클래스명 변경 시에도 수정 불필요
⦁ 명확성: 정적 멤버임을 명시적으로 표현

올바른 코드:
public function increment() {
    self::$count++;
}

public function getCount() {
    return self::$count;
}

다른 키워드들의 용도:

$this - 인스턴스 속성 접근 (:: 연산자와 함께 사용 불가)
parent:: - 부모 클래스의 정적 멤버 접근
static:: - 후기 정적 바인딩 (late static binding)

💡 학습 팁

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