트레잇은 1. 동적 디스페치 가능 2. auto를 제외하고 항상 명시적으로 구현해야함 3. 원래 타입의 맴버랑 전혀 상관없는 자체 맴버들을 가짐 4. 제네릭은 트레잇이 없으면 아무것도 못함 컨셉은 1. 정적 디스페치만 가능 2. 항상 암시적으로 만족함 3. 필드 생성자 연산자 등등 원래 타입의 맴버를 요구할수있음 4. 템플릿은 컨셉이 없어도 컴파일러가 짜맞춰서 돌아가면 컴파일됨
너무 어렵네요
솔직히 일대일 비교대상은 아닌듯 다른게 너무 많아서
rust 트레잇도 템플릿 컨셉처럼 성능 손해 없음?
동적이냐 정적이냐에 따라 다를듯
ㅇㅇ 걔네 쓰는거처럼 정적으로 쓰면 손해 없음
헐 개멋지네 러스트배울까
근데 러스트에서 동적 디스패치 보통 어떨 때 활용함? closure 말고 확 와닿는 예시 잇음? smart pointer에 필요하나?
컴파일 타임에 타입을 못정하거나 여러 타입을 한 컨테이너에 몰아넣을때
보통 OO스러운 설계를 쓰면 많이 필요해짐
Vec<Box<dyn&
Vec<Box>> 깅야야야양ㄱ~
클로저도 딱히 동적 디스패치 아닌데...
existential type 생기고나서 클로저도 다른 애들이랑 크게 다를게 없어지긴함