강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

KoKo님의 프로필 이미지
KoKo

작성한 질문수

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문

ref, out

참조형식의 ref 사용

해결된 질문

작성

·

542

1

안녕하세요. 최근 배열 공부중에 의문점이 생겨 질문 드립니다.

ref, out가 참조(주소)를 넘기는 키워드라면 참조형식의 데이터는 ref, out를 사용할 필요가 없는것이 아닙니까? 그런대 Array 클래스의 함수들을 공부하던중 Resize<T> 함수는 인수로 (ref 배열, 크기)를 받는단 것을 알았습니다. 배열도 참조형식인데 ref 키워드를 쓰는 이유가 무었인가요? 답변 부탁드립니다.

답변 1

0

Rookiss님의 프로필 이미지
Rookiss
지식공유자

ref, out가 참조(주소)를 넘기는 키워드라면 참조형식의 데이터는 ref, out를 사용할 필요가 없는것이 아닙니까?
네 대부분 그렇습니다.


그런대 Array 클래스의 함수들을 공부하던중 Resize<T> 함수는 인수로 (ref 배열, 크기)를 받는단 것을 알았습니다. 배열도 참조형식인데 ref 키워드를 쓰는 이유가 무었인가요? 답변 부탁드립니다
예외적인 경우인데요. C++로 치면 포인터의 포인터가 필요한 상황이 생깁니다.
배열을 함수에 넘기면 함수 내부에서 아무 문제없이 넘겨받은 배열을 잘 사용할 수 있지만.
상황을 바꿔 만약 함수 내부에서 배열의 크기를 2배 늘려서 다른 배열로 교체하고 싶다면?
ref, out 없이는 되지 않습니다.

아래 예제도 참고 바랍니다.
https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=dbbyinno&logNo=120110254928

KoKo님의 프로필 이미지
KoKo
질문자

정말 빠르게 답변 주셔서 놀랐습니다. 감사드립니다!

KoKo님의 프로필 이미지
KoKo

작성한 질문수

질문하기