다음을 통해 공유


매개 변수 전달

메서드 매개 변수는 값, 참조에서 또는 out 매개 변수로서 전달할 수 있습니다. 값으로 매개 변수가 전달되면 메서드가 호출자 데이터의 복사본을 가져오고 호출자 데이터의 복사본을 변경할 수 없습니다. 참조로 매개 변수가 전달되면 메서드가 호출자 데이터에 대한 포인터를 가져옵니다. 이 데이터는 호출자와 함께 공유합니다. 메서드가 참조 매개 변수를 변경하는 경우 호출자 데이터가 변경됩니다. 참조 매개 변수를 사용하는 경우 데이터의 초기 상태를 메서드가 사용할 수 있습니다. out 매개 변수는 호출자에게 데이터를 반환하는 데만 사용되고, 참조 매개 변수는 메서드로 데이터를 전달하고 메서드에서 데이터를 받는 데 사용할 수 있다는 점을 제외하고는 두 메서드가 서로 유사합니다.

out 매개 변수 또는 참조 매개 변수를 사용하지 않습니다.

out 매개 변수 또는 참조 매개 변수를 정의하는 멤버 작업을 수행하는 개발자는 포인터, 값 형식과 참조 형식 간의 미묘한 차이점 및 out 매개 변수와 참조 매개 변수 간의 초기화 차이점에 대해 이해해야 합니다.

참조로 참조 형식을 전달하지 않습니다.

참조로 개체를 전달하면 메서드를 사용하여 개체를 다른 인스턴스로 바꿀 수 있습니다. 대부분의 시나리오에서 메서드는 제공된 개체를 사용해야 하며 해당 개체를 바꿀 수 없습니다. 예를 들어, 참조를 스왑하는 데 사용할 수 있는 메서드와 같이 이 규칙에 대한 제한적인 몇 가지 예외도 있습니다.

Portions Copyright 2005 Microsoft Corporation. All rights reserved.

Portions Copyright Addison-Wesley Corporation. All rights reserved.

디자인 지침에 자세한 내용은 참조를 "Framework 디자인 지침: 규칙, 숙어, 및 재사용에 대 한 패턴입니다.NET 라이브러리"도 서 Krzysztof Cwalina와 Brad Abrams, 게시 Addison-wesley, 2005.

참고 항목

개념

매개 변수 디자인

기타 리소스

멤버 디자인 지침

클래스 라이브러리 개발을 위한 디자인 지침