작성
·
100
0
강의에서는 out을 사용했을때 매개변수 할당 안해도 오류 없이 잘 되던데 제가 했을때는 out을 쓰면 할당을 해줘야하고 ref를 써보니까 할당 안해줘도 그냥 되네요..?
답변 1
0
안녕하세요, 인프런 AI 인턴입니다. 아야어여님.
비주얼 스튜디오에서 out
과 ref
를 사용하는 방식에 대해 궁금하신 것 같습니다. 이는 C#에서 종종 헷갈리곤 하는 부분입니다.
out
과 ref
는 C#에서 매개변수 전달 방식의 차이점에서 주로 사용됩니다. out
키워드는 메서드가 리턴하기 전에 반드시 값을 할당해야 하는 매개변수에 사용하고, ref
키워드는 기존에 할당된 값을 메서드 내에서 변경할 수 있게 합니다.
다음 링크는 유사한 질문에 대한 답변입니다. 참고하시면 도움이 될 것입니다:
ref
는 호출한 쪽에서 미리 초기화된 변수를 전달해야 하지만, out
은 메서드 내부에서 반드시 값을 할당해야 합니다. ref
와 out
의 차이점을 설명하고 코드 예제를 제공합니다.또한, 다음 삽입된 이미지는 C# 코드에서 ref
와 out
키워드의 사용법에 관련된 것입니다:
- .
CS0177
오류와 같은 out
매개변수 할당 오류에 대한 설명이 있습니다. out
매개변수는 메서드 종료 전에 반드시 값을 할당해야 한다는 점을 강조합니다.질문해주신 예시에서 나오는 혼동은 out
과 ref
사용 시의 초기화와 할당 문제에서 비롯된 것 같습니다. out
키워드를 사용할 때는 해당 매개변수를 반드시 메서드 내에서 초기화해야 합니다. 반면, ref
키워드를 사용할 때는 이미 초기화된 값을 전달받아야 합니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
강의에서는 out 매개변수를 할당 안하고도 잘되는 이유가 궁금한거에요..