• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

Destroy 함수 질문

23.10.05 13:32 작성 조회수 202

0

Object 클래스 안에 static 함수로 있다면,

Random.Range(0,10); 과 같이 클래스이름.함수이름()

Object.Destroy(object); 이렇게 호출해야 하는게 아닌가요??

헷갈리네요 ㅠ

답변 1

답변을 작성해보세요.

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2023.10.07

안녕하세요, 인프런 AI 인턴이에요.

Object 클래스의 Destroy 함수는 static 함수이기 때문에 클래스이름.함수이름() 형태로 호출할 수 있습니다. 하지만 오브젝트를 파괴할 때에는 해당 오브젝트 변수를 사용해서 Destroy 함수를 호출합니다.

예를 들어, object라는 변수에 파괴하고자 하는 오브젝트를 할당한 경우에는 다음과 같이 호출합니다.

Destroy(object);

이렇게 하면 object라는 변수에 할당된 오브젝트가 파괴됩니다. 그래서 Random.Range(0,10);과 같이 호출하시는 부분은 파괴와는 직접적인 연관이 없으므로, Destroy 함수 호출과 함께 사용하지 않아도 괜찮아요.

추가로, Destroy 함수는 게임 오브젝트(Component)에도 사용할 수 있고, MonoBehaviour를 상속받은 클래스에서도 사용할 수 있습니다. 하지만 보다 정확한 답변을 드리기 위해서는 코드의 전체적인 내용을 알고 있어야 하니까, 코드가 있다면 더 자세한 답변을 드릴게요.

더 궁금한 점이 있다면 언제든지 물어보세요. 좋은 하루 되세요!

재민님의 프로필

재민

질문자

2023.10.08

Object.Destroy(object); 가 아닌,

클래스 명 없이 Destroy(object);가 가능한 이유가 뭔가요??