공부블로그

[공부 블로그] ref와 out의 차이

bimtaeur30 2025. 9. 1. 09:42

안녕하세요.

오늘은 ref와 out의 차이점에 대해 학교 C#수업 복습할 겸 써보게 되었습니다.

 

우선, ref와 out의 차이를 알아보기 전에 '공통점' 에 대해 먼저 알아보겠습니다.

ref와 out은 모두 메서드의 변수를 참조로 전달하여 메서드 외부의 변수값을 직접 수정할 수 있다는 점 입니다.

또한 런타임에 다르게 처리되며 컴파일 시간에 동일하게 처리된다는 공통점도 있습니다.

 

이제, ref와 out의 차이를 명확하게 구분할 수 있도록 차이점을 표로 정리해보았습니다.

키워드 ref out
매개변수 전달 전 초기화 여부 O X
호출 메서드로 돌아가기 전 매개변수 초기화 여부 X O
데이터 전달 양방향 단방향

 

깔끔하게 표로 정리하니까 한눈에 들어오네요.

앞으로도 이 표를 생각날때마다 봐서 숙지하도록 해야겠습니다.

 

이제 ref와 out을 언제 사용하면 좋을지까지 알아보고 마무리하겠습니다.

ref는 기존 값을 수정해야하거나 전달해야할때, 초기화된 변수를 전달할 때 사용합니다.

out은 메서드에서 새롭게 값을 생성하여 반환해야할 때, return으로 여러개의 값을 반환하고싶을때, 메서드 실행 전 변수의 값이 중요하지 않을 때 등에 사용됩니다.

 

오늘의 내용은 여기까지입니다.

감사합니다!