out 키워드

참조를 통해 메서드에 인수를 전달할 수 있다. (제한된 범위로 변수를 생성하는 경우 Out 키워드가 유용하다.)

output : 

37

큰 값: 37 작은 값: 13


Ref 키워드

ref는 참조로 전달되는 값을 나타낸다.

변수를 전달하기 전에 초기화해야 한다. (하나 이상의 함수에서 변수에 접근이 필요한 경우 유용)

output :

40


-> 메서드 시그니처 및 메서드 호출에서 인수를 메서드에 참조로 전달한다.

-> 메서드 시그니처에서 값을 호출자에게 참조로 반환한다.

-> 멤버 본문에서 참조 반환 값이 호출자가 수정하려는 참조로 로컬에 저장됨을 의미한다.
즉 인수를 참조로 전달하는 경우 호출된 메서드의 인수 변경 내용이 호출 메서드에 반영
메서드 매개 변수는 값 형식이든 참조 형식이든 관계없이 ref를 통해 수정할 수 있으며, 참조로 전달되는 경우 값 형식은 Boxing 되지 않는다

'Programming > C++, C#' 카테고리의 다른 글

[C#] Interface  (0) 2018.06.06
[C#] Delegate , Event  (0) 2018.06.06
[C#] Const vs Readonly  (0) 2018.06.06
[C#] 박싱과 언박싱  (0) 2018.06.06
[C#] 암시적 변환 vs 명시적 변환  (0) 2018.06.05

+ Recent posts