is_a? & kind_of? & instance_of?
kind_of? and is_a? are synonymous. instance_of? is different from the other two in that it only returns true if the object is an instance of that exact class, not a subclass.

Example: "hello".is_a? Object and "hello".kind_of? Object return true because "hello" is a String and String is a subclass of Object. However "hello".instance_of? Object returns false.

is_a&kind_of? instance_of?