확장 메서드 ( Extension Method ) 는 기존 클래스에서 새로운 메서드를 추가하는 기능을 제공한다. 이 방법을 사용할 경우에 코드를 수정하지 않고도 클래스의 기능을 확장할 수 있다.
사용 방법은 메서드의 첫번째 매개변수에서 this키워드와 함께 확장할 클래스의 인스턴스를 나타내고, static 정적 클래스로 만들어서 정의하면 쉽게 사용할 수 있다.
public static bool IsNullOrEmpty(this string str)
{
return string.IsNullOrEmpty(str);
}
string test = null;
bool result = test.IsNullOrEmpty();
이렇게 뒤에 확장 메서드를 참조하여 호출하여 사용할 수 있다.
Unity에서도 gameObject에 대표적으로 사용될 수 있다.
public static void ToggleActive(this GameObject gameObject)
{
gameObject.SetActive(!gameObject.activeSelf);
}
GameObject go = new GameObject();
go.ToggleActive();
이렇게 편리하고 가독성 좋게 사용할 수 있다.
'Unity' 카테고리의 다른 글
A* 알고리즘 및 최적화 (0) | 2024.08.15 |
---|---|
[Unity] 화살표로 타겟 가리키기 (Quaternion.LookRotation) (0) | 2024.07.31 |
오브젝트 풀링 정리 (0) | 2024.06.21 |
스택과 힙, 복사와 참조 (0) | 2024.04.18 |
[AR/VR] AR Foundation 설정 (0) | 2024.04.01 |