本連載では第一線のPerlハッカーが回替わりで執筆していきます。今回はPerl 5上で先進的なオブジェクト指向を実現するためのフレームワークMooseなどの開発に関わっているShawn Moore(sartak)さんと、Japan Perl Associationの理事である牧大輔さんが、「メタオブジェクトプロトコル」について解説します。 メタオブジェクトプロトコル(MOP)とは さまざまなプログラミング言語がオブジェクト指向機能を提供していますが、オブジェクトの構造を細部にわたって閲覧したり、デフォルトの挙動を拡張したりすることまでできる言語はそれほど多くありません。 このような操作を行いたい場合は「メタオブジェクトプロトコル」(以降:MOP)と呼ばれる技術を利用します。MOPは、オブジェクトのメソッドやアトリビュートなどを含む内部構造そのものを、オブジェクトで表現するしくみです。P
![第13回 メタオブジェクトプロトコル入門(1) | gihyo.jp](https://cdn-ak-scissors.b.st-hatena.com/image/square/b4abdbaf3f58dd9491ed8749cea9d7d68d38f355/height=288;version=1;width=512/https%3A%2F%2Fgihyo.jp%2Fassets%2Fimages%2FICON%2F2022%2F1905_perl-hackers-hub.png)