러스트 언어 입문 시리즈 - 6편: 트레이트(Trait)와 제네릭(Generic)을 통한 추상화와 다형성
이전 글에서는 구조체, 열거형, 패턴 매칭, 모듈 시스템을 통해 러스트의 타입 정의와 코드 구조화를 살펴보았습니다. 이제는 러스트에서 추상화와 다형성을 어떻게 구현하는지 알아볼 차례입니다. C++ 개발자라면 ‘템플릿(Template)’과 ‘가상 함수(Virtual function)’, ‘인터페이스(Interface)’ 등을 통해 제네릭 프로그래밍, 다형성을 달성하는 것에 익숙할 텐데요. 러스트는 이와 유사하지만 좀 더 정교하고 명확한 개념인 트레이트(Trait)와 제네릭(Generic)을 제공합니다.트레이트(Trait)란 무엇인가?러스트에서 트레이트는 특정 타입이 "이런 기능을 갖추고 있다"는 것을 표현하는 인터페이스 역할을 합니다. C++에서 순수 가상 함수만 갖는 클래스(인터페이스)나 개념(Conce..