어댑터는 특정 멤버를 대리하는 개체이고,
구현체는 특정 추상적 표현를 대표하는 개체임.


논리상으로는 똑같지만, 의미상으로는 다름.


이를테면 Sex() => sexAdapter.Invoke()은 어댑터의 사용법이고,

sexAction.Invoke()은 구현체의 사용법임


즉, SexAdapter는 클래스 내부에 정의되고,

SexAction은 Subject와 동일한 수준에서 정의됨.