다음 코드의 실행 결과는?

과목: PHP

문제 번호: 3027

medium
다음 코드의 실행 결과는?
<?php
trait Math {
    public function add($a, $b) {
        return $a + $b;
    }
}

trait Text {
    public function uppercase($text) {
        return strtoupper($text);
    }
}

class Calculator {
    use Math, Text;
}

$calc = new Calculator();
echo $calc->add(5, 3);
echo " ";
echo $calc->uppercase("hello");
?>
A. 8 HELLO
B. 53 hello
C. 오류 발생
D. 8 만 출력

정답: A



이 코드는 하나의 클래스에서 여러 트레이트를 동시에 사용하는 예제입니다.

다중 트레이트 사용:
⦁ 문법: use Math, Text; (콤마로 구분)
⦁ 모든 메서드 포함: 두 트레이트의 모든 메서드가 Calculator 클래스에 포함됨
⦁ 독립적 동작: 각 트레이트의 메서드들이 서로 영향을 주지 않음

실행 과정:

1. $calc->add(5, 3) 호출
⦁ Math 트레이트의 add() 메서드 실행
5 + 3 = 8 반환

2. $calc->uppercase("hello") 호출
⦁ Text 트레이트의 uppercase() 메서드 실행
strtoupper("hello") = "HELLO" 반환

최종 출력: "8 HELLO"

💡 학습 팁

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