참고) https://soooprmx.com/archives/4271
객체에 정의된 모든 method는 컴파일러에 의해 내부적으로 숫자값을 가진 변수로 관리된다. 이를 selector
(숫자값)라고 한다. selector
는 다시 Class 내에서 특별한 table에 selector 값과 이 selector가 참조하는 procedure의 주소값을 맵핑한 형태로 기록된다. 또한 컴파일러는 method들을 selector로 인코딩하는 동시에 method 자체를 함수 procedure로 변경하여 컴파일하게 된다. 각각의 selector는 원래의 method가 변형되어 생성된 procedure의 pointer를 참조한다.
objective-c의 method 호출은 'message'라고 표현한다.
[receiver message];