상세 컨텐츠

본문 제목

[Unity] 클래스 인스턴스의 참조 값 변경해보기

유니티

by simstealer 2022. 7. 7. 12:00

본문

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

관련글 더보기

댓글 영역