A bean is a coldfusion component, which can store and return a data record, when an application needs. Generally it is derived from the most popular object oriented programming language - Java.
A bean is generally written for the entity or object in terms of development. An object can be anything - a car, person, place, event or thing. At a time, a bean can only collect information about an entity.
The biggest benefit of using the bean is that it can completely store the data about an object and it can also be used at multiple of places when needed. There is no need to create extra variables & objects for the similar entities and it becomes a container to hold data. It helps in saving the extra memory space.
Because of, the coldfusion framework is a OOPs language, the object representation is done by using the UML (unified modeling language). It is defined under object oriented programming, in which all the object and other interrelated entities information flow is shown by graphical format.  
There are two things considerable for defining a bean -
The class should have a publically specified constructor.
The class properties should be easily accessible within the whole application.    
Hope you have liked this post ! Thanks for reading it !

reference link -