이번 포스팅에서는 template specialization, partial specialization, template meta programming에 대해서 알아보겠습니다. 다양한 템플릿 기술의 근본이 되는 아주 중요한 개념입니다.
이번 항목에서는 템플릿의 기본 문법에 대해서 살펴 보겠습니다.
이번 항목에서는 C++ 템플릿의 기본 개념에 대해서 배우게 됩니다. 비교적 쉬운 내용이지만, 뒷 부분의 다양한 고급 기법을 정확히 이해 하려면 반드시 정확하게 이해 해야 합니다.
C++의 Template 기술은 C++ 에서 가장 신기하고, 재미있고, 깊이있는 분야 입니다. C++로 만들어진 다양한 라이브러리 안에는 Template 을 사용한 고급 코드를 많이 볼수 있습니다. 하지만, Template 은 일반 개발자가 아닌 라이브러리 설계자들이 널리 사용하는 기술이기 때문에, 대부분의 C++ 교육에서는 Template 의 개념 정도만 다루고 있습니다. 그래서, 오픈소스에서 볼수 있는 다양한 고급 기법을 정확히 이해하기는 어려움이 있습니다. 또한, C++의 표준 라이브러리인 STL을 깊이 있게 이해 하기 위해서도 Template 기술은 필수입니다. 이 시리즈는 C++언어의 Template 분야에 대한 다양한 문법과 기법을 배우는 과정입니다.
코틀린의 새로운 특징중 하나인 type aliases와 Enum class, 예외처리, 연산자 오버로딩에 대해 살펴보겠습니다.
리플렉션(Reflection)은 런타임 프로그램의 구조(객체, 함수, 프로퍼티, 생성자, Bonud)를 분석해서 활용 할 수 있는 기법입니다.
이를 활용 하면 런타임에 얻을 수 있는 정보를 기반으로 기존 코드 대비, 간결한 구조의 표현이 가능해집니다.
코틀린에서는 .NET의 LINQ, Java의 Streams, C++의 ranges와 유사하게 데이터 집합을 다룰 수 있습니다.