반응형
아래 글은 C# 메서드와 매개변수 관련 개념 정리 및 작성자 공부를 위해 작성되었습니다.
📃 참고자료
- C# 교과서(길벗 출판사) - 37단원 메서드와 매개변수 489 ~ 502페이지
- 유튜브 채널 VisualAcademy [C# 교과서 마스터하기 37. 메서드와 매개변수]
- 닷넷코리아 (https://www.dotnetkorea.com/)
https://www.youtube.com/watch?v=7XtfWhT4hp0
✳ 메서드와 매개변수
- 액세스 한정자 (Accessor)
- 반환값 (Return Type)
-> 반환값은 모든 타입(any type)이 될 수 있음
-> 반환값 없는 경우에는 void - 메서드(함수)명 (FunctionName)
- 매개변수(Parameters)
Accessor returnType FunctionName(Parameters)
{
Code;
}
✳ 시그니처 : 메서드명과 매개변수 리스트
- 시그니처
- 함수명과 매개변수 리스트
- 메서드 오버로드의 구분점이 됨
✳ 매개변수(파라미터) 전달 기법
- 파라미터 전달의 3가지 방법
in | 입력모드 값에 의한 전달(Pass by value) |
ref | 입출력 모드 참조에 의한 전달(Pass by reference) |
out | 출력 모드 Output 매개변수(Output parameters) |
✳ 값에 의한 전달(Pass by value)
- Call by value
- 파라미터 전달의 기본 기법
- 파라미터 값이 복사됨
- 변수는 메서드 안에서 바뀜
- 메서드 밖에 있는 값에는 영향을 미치지 않음
- 파라미터는 반드시 같거나 호환 가능해야 함
static void AddOne(int x)
{
x++; // 넘어온 값을 1 증가
}
static void Main()
{
int k = 6;
AddOne(K);
Console.WriteLine(k); // 6 출력, 7로 증가되지 않음
}
✳ 참조에 의한 전달(pass by Reference)
- call by reference
- 참조형 매개변수란?
- 참조란 메모리 상의 퇴치(포인터) - 참조형 매개변수 사용
- 형식과 변숫값이 맞아야함
- 호출자에 의해서 원본 데이터에 영향
- 메서드를 호출하기 전에 매개변수를 초기화해야 함
✳ oupput 매개변수(output parameters)
- output 매개변수
- 매개 변수의 값이 메서드 안에서 밖으로 전달 - output 매개변수 사용
- 기본적으로 ref 매개변수와 같다.
-> 그렇지만 값이 메서드 안으로 전달되지는 않음
- 메서드 선언과 호출 시 out 키워드 사용
static void OutDemo(out int p)
{
// ...
}
int n;
OutDemo(out n);
✳ 가변형 매개변수 : C#
- params 키워드 사용
- 값 전달
- 한번에 여러 개의 매개변수(배열형) 전달 가능
반응형
'프로그래밍언어 & 프레임워크 > C#' 카테고리의 다른 글
C# 상속(Inherits)으로 클래스 확장하기 (0) | 2021.06.08 |
---|---|
C# 인덱서(Indexer)와 반복기(Iterator) (0) | 2021.06.07 |
C# 소멸자(Destructor) (0) | 2021.06.05 |
C# 네임스페이스(Namespace) (0) | 2021.06.04 |
C# 개체(Object) 만들기 (0) | 2021.06.03 |