다음 코드에서 정적 메서드와 인스턴스 메서드의 차이점에 대한 설명으로 올바른 것은?
다음 코드에서 정적 메서드와 인스턴스 메서드의 차이점에 대한 설명으로 올바른 것은?
<?php
class FileManager {
private $filename;
public function __construct($filename) {
$this->filename = $filename;
}
public function readFile() {
return "Reading " . $this->filename;
}
public static function getFileExtension($filename) {
return pathinfo($filename, PATHINFO_EXTENSION);
}
}
$manager = new FileManager("document.pdf");
echo $manager->readFile();
echo FileManager::getFileExtension("image.jpg");
?>
정답: C
정적 메서드와 인스턴스 메서드는 서로 다른 용도와 특성을 가집니다.
인스턴스 메서드 (
readFile
):⦁ 객체 의존: 특정 객체의 상태(
$this->filename
)에 의존⦁ 호출 방식: 객체를 통해 호출 (
$manager->readFile()
)⦁ 용도: 객체별로 다른 데이터를 처리할 때
⦁
$this
사용: 현재 객체의 속성과 메서드에 접근 가능정적 메서드 (
getFileExtension
):⦁ 객체 독립: 객체의 상태와 무관하게 동작
⦁ 호출 방식: 클래스 이름으로 직접 호출 (
FileManager::getFileExtension()
)⦁ 용도: 유틸리티 함수, 공통 기능 제공
⦁
$this
사용 불가: 객체 속성에 접근할 수 없음실제 활용 사례:
⦁ 정적 메서드: 파일 확장자 추출, 날짜 포맷팅, 암호화 등
⦁ 인스턴스 메서드: 사용자 정보 조회, 주문 처리, 개인화된 작업 등
💡 학습 팁
이 문제를 포함한 PHP 과목의 모든 문제를 순차적으로 풀어보세요. 진행상황이 자동으로 저장되어 언제든지 이어서 학습할 수 있습니다.