프로그래밍/C#

c# ref , out 키워드의 차이

JinFluenza 2016. 12. 30. 22:47

일단 둘의 공통점은 둘다 레퍼런스 타입 이라는 것. 그리고 사용 목적이 비슷하다는 점.(둘다 메소드 내에서 어떤 값을 처리하는 용도.)


둘의 차이점은 

ref는 주로 메소드 내에서 원래 있던 값을 수정하고자 할 때 사용한다.

따라서 메소드 수행 전 해당 변수값이 미리 초기화가 되어 있어야 하고.


out는주로 메소드 내에서 생성된 새로운 값을 반환해 사용하고자 할 때 사용한다. 

따라서 해당 변수가 미리 초기화 되어 있을 필요는 없고.              

선언만 되어있는 상태여도 작동한다. 하지만 메소드 안에서 해당 값을 반드시 할당 해 주어야 한다.