본문 바로가기
개발/기본) 기본기

기본기)람다식(Lambda Expression)

by 테샤르 2020. 9. 3.

람다식(Lambda Expression)

람다식은 수학의 알론조(Alonzo Church)가 발표한 계산법인데 이를 존 매카시(John Macarthy)가 프로그래밍 언어에 도입하게 되면서 널리 알려졌다.

 

람다식(Lamdaba Expressions)은 추상화 익명 메서드(Anonymous functions)로써 함수형 프로그래밍에 적합한 문법적 표현방식이다.

 

람다식의 특징은 다음과 같다.

코드의 간결성과 필요한 정보만 사용하는 방식으로 퍼포먼스의 향상이 있다.

익명 함수의 특성상 외부 캡처나 시간 제약, 디버깅 시 콜 스택의 추적의 어려움, 코드의 난해함이 있을 수 있다.

 

 

람다식의 기본적인 표현방식은 다음과 같다.

(타입 매개변수, ...)=>{ 실행문 ;}

 

실제 사용 코드로 보면

매개 인자 생략해서 표현하는 방식으로 콜백이나 이벤트를 처리하는 과정에서 많이 사용한다.

 this.m_RoolingPowerUp.SetValue(1,0f, 10f,()=>{
            this.m_PlayerController.UpdatePowerUp(true);
            this.m_ImageTemp.gameObject.SetActive(true);
        }, ()=>{
            this.m_PlayerController.UpdatePowerUp(false);
            this.m_ImageTemp.gameObject.SetActive(false);
        });

매개인자 자료형을 명시 및 하위 항목 접근을 할 수도 있다.

   foundationList.Sort((SpiderCardItem item1, SpiderCardItem item2) =>
                    {
                        return item1.GetSpiderInfoCard().m_eNumber.CompareTo(item2.GetSpiderInfoCard().m_eNumber);
                    });

람다식을 사용하면 편의성에 대해서는 좋은 점수를 줄 수 있으나 너무 남발하게 되면 생각보다 코드가 복잡해지고 사이드 이펙트에 대한 관리가 되지 않는다 적당한 곳에 적절하게 사용하면 편리하다.

 

 ★

 

반응형

댓글