Multi-agent systems can be viewed as object-oriented systems in which their entities show an autonomous behavior. If objects could acquire such skill in a flexible way, agents could be built exploiting object-oriented techniques and tools. There are several ways for building agents from objects: defining common interfaces and in abstract superclasses, wrapping objects with agent behavior using composition techniques, etc. However these ways present problems for becoming objects in agents and for adapting the behavior assigned to agents, especially whether it is required in a dynamic way. This paper analyzes these problematic alternatives and presents another one in which agent characteristics (such as perception, communication, reaction, deliberation and learning) can be dynamically added, deleted, and adapted to objects using a particular computational reflection form achieved by meta-objects.