나의 지식 보관소
확장 메서드 본문
확장 메서드는 기존 클래스의 기능을 확장하는 방법이다. 예를 들어 int형에 제곱 기능도 넣을 수 있다.
확장 메서드를 선언하기 위하여 필요한 조건은 다음과 같다.
1. 클래스를 static으로 수식한다.
2. 메서드를 static으로 수식한다.
3. 첫 번째 매개 변수는 반드시 this 키워드와 함께 확장하고자 하는 클래스( 형식 )이어야 한다.
다음 조건을 만족하여 int형식에 제곱 기능을 추가하는 확장 메서드를 만들어 보겠다.
1
2
3
4
5
6
7
8
9
10
11
12
|
static class IntExtension
{
public static int Power(this int a, int exponent)
{
int temp = a;
for (int i = 1; i < exponent; i++)
{
temp *= a;
}
return temp;
}
}
|
이렇게 만들어진 확장 메서드는 다음과 같이 사용하면 된다.
1
2
|
int a = 2;
Console.WriteLine(a.Power(4));
|
Power의 첫 번째 매개변수는 a가 되고 다음 매개변수에 4가 넘겨져서 a^4를 계산해준다.
'프로그래밍 언어 > C#' 카테고리의 다른 글
죽음의 다이아몬드 (0) | 2019.12.28 |
---|---|
인터페이스 interface (0) | 2019.12.28 |
메서드 오버라이딩 / 메서드 숨기기 (0) | 2019.12.28 |
is와 as (0) | 2019.12.28 |
로컬 함수 (0) | 2019.12.27 |