728x90
반응형
§ Method §
◈ 기본형
class Basic
{
public static int basic_A( int a, int b )
{
return a + b;
// 일반 함수
}
static void Main(string[] args)
{
// 메인 함수
}
}
◈ 접근 제한 수준 : Static - Public - Private
◈ 구분
- Static : 정적 함수, static으로 선언된 함수끼리만 호출 가능.
- Public : 접근 제한 無, 전체 공유 및 참조 가능. 외부 class에서 접근시, 보호 수준을 해제한다.
- Private : 접근 제한 有, 외부로부터 보호받아야 하는 중요 함수의 경우에 사용한다.
class Calcurator
{
public static int Add( int a, int b ) // return 값이 int형인것 // parameter
// public : 접근제한자, 접근한정자
// 외부 class에서 접근할때, public이 선언된 class에 접근이 가능하도록 전체 공유하는 것
// 보호 수준 해제 용도
{
return a + b; // int형으로 값 반환
}
}
class MyClass
{
static void Main(string[] args) // main method line
// static : 정적. static은 static만 호출 가능
{
int c = Calcurator.Add(3, 4);
Console.WriteLine(c);
}
}
§ Method 생성 §
- 메인 함수에서 각 변수에 지정된 값을 할당하고, 해당 값을 변경해보자.
1. 일반 함수 swap을 생성하고, 메인 함수에서 생성한 변수들을 참조 형식으로 입력
2. 다른 변수의 값 하나를 임시로 저장해 줄 임시 변수 생성하고, 기존 변수 중 하나의 값을 대입해서 빈 공간 생성
3. 위의 방법으로 생성된 빈 공간에 또 다른 변수의 값 대입
4. 2~3의 과정을 반복하여 각각의 지정된 값이 다른 변수에 옮겨졌는지 한 번 확인
5. swap함수를 메인함수에서 호출해서, 제대로 치환됬는지 확인한다.
class MyClass
{
static void swap( ref int a, ref int b, ref int c, ref int d)
{
int e = a; // 임시 저장 변수 생성
a = b;
b = c;
c = d;
d = e;
Console.WriteLine("<Middle> a : {0}, b : {1}, c : {2}, d : {3}", a, b, c, d);
}
static void Main(string[] args)
{
int a = 1;
int b = 2;
int c = 3;
int d = 4;
Console.WriteLine("<Before> a : {0}, b : {1}", a, b);
Console.WriteLine($"<Before> a : {a}, b : {b}, c: {c}, d: {d}");
swap(a, b);
swap(ref a, ref b, ref c, ref d); // 참조 선언
Console.WriteLine($"<After> a : {a}, b : {b}, c : {c}, d : {d}");
}
}
728x90