안녕하세요

프로그램 과정에서 막혔던 문제들에 대한 해결책 정리


페이지 목록

2024년 12월 25일 수요일

[C#][Copilot] out 과 ref의 유사성과 차이점

C++에서 &를 통해 하던 참조 연산이 C#에서는 막혀 있었다.


 이와 유사한 out과 ref가 있었는데 둘이 다르면서도 같은데 정확하게 어디서 써야 할 지는 아직은 미궁이다.

 out은 밖에서 변수를 초기화 하지 않아도 사용이 가능하며 하지만 method 안에서 반드시 초기화를 해주고 써야 한다.

 ref는 참조하는 형식으로 사용하는데 밖에서 반드시 초기화 해주고 써야 한다.


 ref는 좀 더 수정한다는 의미에 가깝고 out은 값을 반환하는 의미가 있다고 하는데 정확한 쓰임새는 좀더 알아 봐야 하겠다.


 Copilot에 따른 차이점

특징                                         out                            ref

초기화 필요                   여부 호출 전에 초기화 불필요     호출 전에 초기화 필요

메서드 내부 초기화 여부   반드시 초기화                         필요초기화 필요 없음

값 반환                        여러 값을 반환 가능                  수정된 값을 반환

사용 목적                      값을 반환하기 위한 매개변수     값을 수정하기 위한 매개변수

사용 시점                      반환값이 여러 개 필요할 때      기존 변수 값을 변경할 때


** 본 문은 Microsoft Copilot의 도움으로 작성되었습니다.

댓글 없음:

댓글 쓰기