티스토리 뷰

참조 vs 포인터

우리가 앞서 포인터에 대해 배웠었지만, 포인터와 아주 비슷한 개념으로 대신 쓸 수 있는 참조도 존재한다.

둘 다 메모리 주소를 나타내는 것인 동일하지만, 두 개념의 차이로 재할당 가능 여부가 존재한다.

 

포인터는 포인터를 변경해서 언제든지 새 메모리 주소, 새 액터, 새 컴포넌트 가리키기 등이 가능하지만,

참조는 한 번 가리키면, 다른 값을 가리키는 것이 불가능하다.

따라서 참조는 해당 변수 전용의 별칭느낌으로 사용된다.

또한 포인터는 null 할당이 가능하지만, 참조는 선언과 동시에 초기화가 이루어져야하므로 null 할당이 불가능하다.

강의 내 캡처 내용

이제 간단하게 참조를 이용하여 테스트를 해보자.

간단하게 데미지 변수를 선언하고, 해당 변수를 참조한 DamageRef를 선언해주었다.

포인터가 *를 선언했듯이, 참조는 &선언이 필요하다.

이후에 DamageRef를 로그에 출력해보면 Damage의 값인 0이 출력된다.

 

이번엔 참조에 추가적으로 값을 할당해보자.

위 코드의 경우 어떤 값을 출력하게 될까?

답은 5, 5를 출력하게 된다.

DamageRef의 경우 5를 할당했으니 5로 변경되고, DamageRef가 Damage의 참조기 때문에 Damage의 값 또한 5로 변경하게 된다.

 

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/07   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함