ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 확장 메서드
    공부 기록 2024. 10. 2. 20:52

    확장 메서드를 처음 알게 된 계기

     

    프로젝트 진행 중에 숫자를 문자열로 변환 하는 작업을 할 때 float.을 사용해서 바로 변환 하게 하는 것을 목격 했다. 

    원래 내가 하던 방식은 함수를 하나 작성을 해서 Manager.instance.FloatToString() 이런 식으로 사용을 했었다. 

    이런 방식이 아닌 확장 메서드를 통해서 바로 사용을 할 수 있게 한다면 매우 편리할 것 같았다. 

     

     

    확장 메서드란 

    만들어져 있는 클래스에 기능을 추가하는 기능이라고 볼 수 있다. 그런데 클래스에 기능을 추가 하는 것보다는 추가 하는 것처럼 보이게 하는 게 맞는 것 같다. 

     

    만드려면 static Class에 static Method를 만들어 주면 된다. 

     

    public static class 클래스이름

    {

    public static 반환형식 함수이름(this float value)

    {

    retrurn value.ToString();

    }

    }

     

    위 코드에서 this 키워드를 사용하여 확장 메서드로 만들 수 있다. this 키워드는 확장하려는 데이터 타입을 나타내며, 메서드를 호출할 때 매개변수로 해당 타입의 값을 전달받는 것을 생략할 수 있게 해준다.

     

    사용을 할 때는 

     

    float speed = 5.5f;

    Txt.text = speed.확장메서드이름();

     

    이런 식으로 사용을 하면 된다. 무슨 차이인가 싶을 수 있겠지만 다른 자료형으로 변환 하는 과정에서 숫자 옆에 다른 문자열을 붙인 다거나 등등 복잡함을 추가 할 수가 있고, intstance를 통해 접근 해야 할 때 코드를 줄일 수 있다. 

     

    하지만 확장 메서드를 사용 할 때는 static을 사용하므로, 전역 상태로 관리된다는 점에 주의를 해야 한다. 그러니 확장 메서드를  만들기 전에 고민을 하고 만들자.

     

     

    '공부 기록' 카테고리의 다른 글

    24년 8월 8일 TIL  (0) 2024.08.09
    24년 8월 5일 TIL  (0) 2024.08.05
    24년 8월 2일 TIL  (0) 2024.08.02
    24년 8월 1일 TIL  (0) 2024.08.01
    24년 7월 31일 TIL  (0) 2024.07.31
Designed by Tistory.