목차
static method, instance method
call by value
call by reference
out parameter
params parameter
call by value
call by reference
out parameter
params parameter
본문내용
class에 정의된 member method 중 static이라는 키워드가 붙어있는 method 는 class 이름으로 호출
class에 정의된 member method 중 static이라는 키워드가 붙지 않은 method는 class의 instance로 호출
예
System.Threading.Thread.Sleep(100000);
class MethodTest{
public static int StaticMethod(int a, int b){ // class name으로 호출
return a * b;
}
public int InstanceMethod(int a, int b){ // class의 instance로 호출
return a * b;
}
}
//다른 class에서 실행
int x;
x = MethodTest.StaticMethod(3, 4);
// x = MethodTest.InstanceMethod(3, 4); // <- 이 코드는 error를 발생한다.
Console.WriteLine(x);
MethodTest mt = new MethodTest();
x = mt.InstanceMethod(3, 4);
// x = mt.StaticMethod(3, 4); // <-- 이 코드는 error를 발생한다.
Console.WriteLine(x);
call by value
default 호출시 call by value
method 호출시 호출하는 측 변수에 저장된 값의 복사본이 parameter value로 전달된다.
reference type(class, 배열) 을 call by value로 처리하려면 default로 호출하면서 호출된 method에서는 new 연산자로 새로 생성해 주어야 한다.(Sample 참조)
call by reference
ref 라는 키워드로 parameter를 전달하고, 전달받는다.
method 호출시 주소값이 전달되어 실제 값에 영향을 미칠 수 있다.
class에 정의된 member method 중 static이라는 키워드가 붙지 않은 method는 class의 instance로 호출
예
System.Threading.Thread.Sleep(100000);
class MethodTest{
public static int StaticMethod(int a, int b){ // class name으로 호출
return a * b;
}
public int InstanceMethod(int a, int b){ // class의 instance로 호출
return a * b;
}
}
//다른 class에서 실행
int x;
x = MethodTest.StaticMethod(3, 4);
// x = MethodTest.InstanceMethod(3, 4); // <- 이 코드는 error를 발생한다.
Console.WriteLine(x);
MethodTest mt = new MethodTest();
x = mt.InstanceMethod(3, 4);
// x = mt.StaticMethod(3, 4); // <-- 이 코드는 error를 발생한다.
Console.WriteLine(x);
call by value
default 호출시 call by value
method 호출시 호출하는 측 변수에 저장된 값의 복사본이 parameter value로 전달된다.
reference type(class, 배열) 을 call by value로 처리하려면 default로 호출하면서 호출된 method에서는 new 연산자로 새로 생성해 주어야 한다.(Sample 참조)
call by reference
ref 라는 키워드로 parameter를 전달하고, 전달받는다.
method 호출시 주소값이 전달되어 실제 값에 영향을 미칠 수 있다.
추천자료
- c로배우는알고리즘에서 ROBOT프로그램을 C언어로 바꾸자.
- C언어 야구 게임
- C언어를 이용해 하노이탑 구현 프로그램
- C언어를 이용한 분수의 덧셈과 곱셈을 하는 프로그램
- C언어를 이용해 문자열을 추출하는 프로그램
- C언어를 이용한 야구게임(숫자맞추기) 프로그램
- C언어를 이용한 성적처리(성적관리) 프로그램
- C언어를 이용한 [3][3]행렬(3*3행렬), 행렬의 덧셈과 행렬의 곱셈
- C언어 처음공부하는 사람들에게 도움이 되는 코딩들(기초부터 포인터까지)
- c언어로 만든 typedef 구조체 개념 프로그램
- c언어 계산기
- c언어로 애니메이션을 만들어 주세요
- c언어에서의 포인터(pointer)
- C언어로 제작한 푸쉬푸쉬 게임