10. 씨샵 프로그래밍 함수1, 2 오버로딩, ref , 스택과 힙 컬렉션 설명
- 최초 등록일
- 2021.11.22
- 최종 저작일
- 2021.11
- 42페이지/ MS 파워포인트
- 가격 2,000원
목차
1. C# 프로그래밍 (메소드)
2. C# 연습 문제
3. C# 프로그래밍 (메소드)
4. C# 프로그래밍 (ref, out)
5. C# 프로그래밍 (ref, out, params)
6. C# 프로그래밍 (메소드)
7. C# 프로그래밍 (오버로딩)
8. C# 프로그래밍 (메소드)
9. C# 프로그래밍 (스택과 힙)
본문내용
C# 프로그래밍 (ref, out)
참조에 의한 호출을 지원하기 위한 예약어 ref와 out
값형식이든 참조형식이든 둘다 엄연히 스택에 있는 값이 복사되는 상황이었다. (Call by value)
즉, 값형식은 스택영역메모리에 값이 직접 들어있어서 그것이 복사된것이고,
참조형식은 스택영역메모리에 힙영역의 주소가 들어있어서 그 주소가 복사되면서 같은 객체를 가리킨 것이다.
그러나 ref 예약어를 사용하면 그 스택영역메모리의 주소를 사용하면서 Call by reference 를 사용하게된다.
* ref를 구조체에서 사용하면 클래스처럼 "얕은 복사"로 전달한 것과 같은 효과를 낸다.
out 예약어와 ref의 차이점
out 예약어도 Call by reference를 가능케 하는 키워드다.
1. out으로 지정된 인자에 넘길 변수는 초기화되지 않아도 된다. 초기화해도 out인자를 받는 메서드에서 그값을 사용할 수 없음.
2. out으로 지정된 인자를 받는 메서드는 반드시 변수에 값을 넣어서 반환해야 한다.
즉, out은 ref의 기능 가운데 몇가지를 강제적으로 제한하면서 특별한 용도를 가짐.
Ref : 기존 변수 메서드에서 수정하려 할 때 사용
Out aptjem 내에서 생성된 값을 반환할 때 사용
참고 자료
없음