인터페이스를 이용해서 Factory를 이용하여 객체를 받기 때문에 캡슐화 + 은닉성

QueryInterface를 이용한 다형성

AddRef - Release를 이용한 기초적인 레퍼런스 카운팅

C로도 인터페이스를 사용할 수 있어 다양한 언어에서 래핑할 수 있고.

ABI또한 쉽게 구현할 수 있어서 C, C++, Rust, 델파이같은 언어로 구현가능