이번 포스트에서는 C#에서의 람다식 활용법에 대해 알아보겠습니다.
C++과 마찬가지로 C#에서도 람다는 일시적으로 사용되는 함수를 구현하는 경우에 사용됩니다.
그렇다면 람다식을 사용함으로써 얻는 이점을 실제 예제를 통해 알아보겠습니다.
예제에서 탐색할 대상이 되는 클래스는 위에서 보이는 Client 클래스입니다.
이제 기본적으로 실행되는 클래스 Program으로 넘어가보겠습니다.
위와 같이 구성되어 있습니다.
이제 총 3가지의 델리게이트에 예약될 함수를 구현하는 과정을 통해 람다 함수의 사용방법과 그 이점을 알아볼 것입니다.
이때 판별할 조건은 ClientNumber가 Two이거나, ClientType이 VIP인 경우라고 가정하겠습니다.
1) 조건판별함수를 작성하는 경우
위와 같이 조건 판별함수를 작성하였습니다.
실행 결과는 다음과 같습니다.
문제없이 실행된 것을 확인할 수 있습니다.
하지만 만약 조건을 추가해야 하는 경우에 어떻게 해야 할까요?
조건을 판별하는 함수를 일일이 추가할 수 밖에 없을 것입니다.
이는 설계구조에 악영향을 끼칠 뿐더러 함수를 사용하지 않는 경우 고스란히 용량을 차지하게 될겁니다.
따라서 더 좋은 방법을 구상해볼 필요가 있습니다.
2) 익명함수를 사용하는 경우
이번에는 익명함수를 사용해보겠습니다.
구문의 안에서 선언되어 호출되는 익명함수는 함수의 사용이 일시적인 경우에 유리하게 사용이 가능합니다.
한번 보겠습니다.
위와 같이 코드를 수정하였습니다.
이제 실행결과를 확인해보겠습니다.
역시나 문제없이 실행되는 것을 확인할 수 있습니다.
그러나 다시 코드를 확인해보면 일시적으로 호출되는 함수치고 구조가 꽤나 복잡합니다.
용량을 차지하거나 일일이 코드를 선언하는 등의 문제는 없지만 작성자의 수고를 늘려버리게 됩니다.
바로 이런 상황에서 람다식을 사용할 수 있습니다.
3) 람다식을 사용하는 경우
익명함수를 사용하는 경우와 비교하였을때 확실히 문법이 간단해졌습니다.
그렇다면 실행결과를 확인해보겠습니다.
실행에서도 문제없이 실행되었음을 확인할 수 있습니다.
위와 같이 람다식은 간단한 동작을 수행하는 함수를 정의하고 사용하는 경우 매우 유용하게 활용할 수 있습니다.
'C#' 카테고리의 다른 글
컴파일러 최적화 (0) | 2024.11.25 |
---|---|
C#에서 쓰레드를 생성하는 방법 (0) | 2024.11.25 |
이벤트 키워드 (0) | 2024.09.14 |
델리게이트 (0) | 2024.09.14 |
attribute와 reflection (0) | 2024.09.07 |