프로그래밍
rust
basic_syntax
Traits

Traits

트레이트는 여러 타입들간에 공통적으로 동작하는 인터페이스로

  • 함수나 메서드
  • 타입
  • 상수 로 구성된다.

트레이트의 상당수는 어떤 기능이나 작동을 의미한다고 한다.

예1

예를 들어 print 문서에도 나와있는 std::fmt::Display(스탠다드 라이브러리, 포멧 모듈, 디스플레이 트레이트) 트레이트는 출력되기 위해 필요한 트레이트이다. 프린트로 사용하고 싶다면 디스플레이나 디버그 트레이트를 구현해야한다.

예2

#[allow(unused_variables)] 함수 위에 위와같은 어노테이션?을 추가할 수 있는데 unused_variables트레이트를 허용하는 어노테이션으로 해당 함수의 블럭안에서 사용되지 않는 함수가 있어도 컴파일러가 경고를 띄워주지 않는 기능을 한다.

하스켈

하스켈에서는 타입클래스라는 이름으로 동일한 역할을 한다고 한다.