기술면접 - 'ref'와 'out'의 사용 시 차이는 무엇인가요?
작성자 정보
- 마스터 작성
- 작성일
본문
Q - 'ref'와 'out'의 사용 시 차이는 무엇인가요?
A - ref와 out둘다 변수를 참조형태로 전달하는데 사용합니다.
ref는 변수가 메서드 안에서 변경이 가능합니다. 단 전달하기 전에 초기화 해야됩니다.
out은 변수를 초기화 하지 않아도 되지만 메서드 안에서 반드시 할당 해야 합니다.
Ref 사용예
변수 사용전에 초기화를 해줘야 한다.int var = 1;
RefFunction(ref var);
public static void RefFunction(ref int i)
{
i = 10;
}
int var = 1;
메서드 내에서 값 변경이 가능합니다.
i = 10; (값 변경)
Out 사용예
변수 사용전에 초기화 안해도 됩니다.int var;
OutFunction(out var);
public static void OutFunction(out int i)
{
i = 10;
}
int var;
메서드 내에서 반드시 할당 해야 합니다.
i = 10; (값 할당)
[GPT]
C#에서 ref와 out 키워드의 가장 큰 차이점은 초기화와 관련된 것입니다.
ref :
ref를 사용하려면 변수가 반드시 초기화되어야 합니다. 이 키워드를 사용하면 메서드에 변수의 참조를 전달하고, 메서드 내에서 이 변수를 변경할 수 있습니다. 이렇게 하면 메서드가 종료된 후에도 변수의 값이 변경된 상태를 유지하게 됩니다.
out:
out드의 경우, 변수의 초기화가 필요하지 않습니다. 이 키워드를 사용하면 메서드 내에서 반드시 해당 변수를 초기화하고 값을 할당해야 합니다. out을 사용하면 여러 값을 반환하는 것이 가능해집니다.
따라서 ref와 out의 선택은 주로 변수의 초기화와 관련된 요구사항에 따라 결정됩니다.
관련자료
-
이전
-
다음