강의로 돌아가기
-

Debug.Log (coins [0].name) 와 Debug.Log (coins [0])의 차이는?

유니티 5.5.2f1 64bit 버전을 사용하고 있습니다.

강의 내용중에
배열에 정의된 코인의 태그를 확인하기 위하여 콘솔창에 보여주는 명령을 쓰셨는데. 강의에서는 이름을 찾아오기 위하여

Debug.Log (coins [0].name) 이라는 명령을 사용하셨습니다.
그리고 정상적으로 이름을 불러오는 것도 확인했습니다

Coin (2)
UnityEngine.Debug:Log(Object)

의문이 생겨
Debug.Log (coins [0]) 으로 정의하여 실행을 하였더니
값이 없기 때문에 0 으로 불러올 줄 알고 있던 결과가 아래처럼 나오게 되었습니다.

Coin (2) (UnityEngine.GameObject)
UnityEngine.Debug:Log(Object)

이름을 불러오는 것은 같은것 같은데, 어떤 차이가 있는지 궁금합니다.

1 개의 답변
정두식_

Debug.Log의 정의를 보시면
string이나 string으로 변환될 수 있는 object를 매개변수로 받는걸 알 수 있습니다.

GameObject를 그대로 출력하시면 ToString()을 호출한것과 같은 값이 출력될겁니다. 예를들어
Debug.Log(coins[0])Debug.Log(coins[0].ToString())한 것과 같은 값이 출력됩니다.

정리하면, GameObject의 ToString()에 정의된 값이 출력되는겁니다.

답변 쓰기
이 입력폼은 마크다운 문법을 지원합니다. 마크다운 가이드 를 참고하세요.