using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Zoo : MonoBehaviour
{
void Start()
{
Animal tom = new Animal();
tom.name = "톰";
tom.sound = "냐옹!";
Animal jerry = new Animal();
jerry.name = "제리";
jerry.sound = "찍!";
// 톰의 참조 값을 제리로 옮긴다.
jerry = tom;
tom.PlaySound();
jerry.PlaySound();
}
}
위와 같은 코드를 보면 톰 데이터를 제리로 붙여넣는 것처럼 보일 수 있지만 인스턴스는 객체를 참조하는 주소를 담고 있기때문에 jerry = tom은 제리의 참조하는 주소를 톰으로 바꾸는 코드가 된다. 그렇기 때문에 제리의 객체를 PlaySound하게 되면 톰의 데이터가 나온다. 추가로 톰의 데이터를 바꾸면 당연히 제리의 객체 데이터도 똑같이 바뀌게 된다.
[C#] string (0) | 2022.07.07 |
---|---|
[Unity] 이벤트 함수의 실행 순서 (0) | 2022.07.07 |
[Unity] Log (0) | 2022.07.07 |
[C#] 배열 (0) | 2022.07.07 |
[Unity] 직선의 거리 구하기 (0) | 2022.07.07 |
댓글 영역