728x90
확장 메소드는 기존 클래스의 기능을 확장하는 기법이다. 기반 클래스를 물려받아 파생 클래스를 만든 뒤 여기에 필드나 메소드를 추가하는 상속과는 다르다. 확장 메소드를 선언하는 방법은 다음과 같다.
- static 한정자를 이용해 클래스를 선언한다.
- static 한정자를 이용해 메소드를 선언한다.
- 메소드의 첫번째 매개변수는 반드시 this키워드와 함께 확장하고자 하는 클래스의 인스턴스여야한다.
- 그 뒤에 실제 확장 메소드를 호출할때 전달할 매개변수를 선언한다.
아래의 코드는 확장 메소드 선언의 예시이다.
public static class Vector2Extension
{
public static int Half(this Vector2 myVec2)
{
Vector2 result = myVec2;
return myVec2 /= 2;
}
}
이렇게 선언한 확장 메소드는 다음과 같이 사용한다.
Vector2 pos = new Vector2(5.0f, 5.0f);
pos.Half();
728x90
반응형
'Language > C#' 카테고리의 다른 글
가비지 컬렉션(Garbage Collection)이란 무엇인가? (0) | 2023.05.14 |
---|---|
C# ref, out, 참조에 의한 전달(pass by reference) (0) | 2023.04.16 |
for와 foreach의 콜렉션 접근방식차이 (0) | 2023.04.11 |
C#에서 const, readonly 차이 (0) | 2023.03.29 |