클래스 이름에 붙는 API는 매크로다.
이는 DLL끼리 서로 노출시키는 것으로, 사용 방법에 따라 모듈 내부에서만 사용하는 경우에는 캡슐화를 제공하고 외부에서는 사용할 부분과 사용하지 않을 부분을 구분한다.
클래스에 선언 시 (클래스이름_API) 모두 OPEN하여 사용한다는 뜻이다.
만일 클래스에 선언하지 않고, 특정 함수에만 API 선언을 하면, 해당 함수만 OPEN 한다. 이를 mini API라고 한다.
-> 이렇게 오픈된 것들은 다른 모듈에서 자유롭게 접근이 가능하다.
일종의 함수용 namespace라고 생각해도 무방하다.
핵심은 캡슐화다!