Classes and Objects in Ruby: A Fundamental Concept

Introduction to Classes and Objects

Classes and objects are foundational concepts in Ruby and Object-Oriented Programming (OOP). In Ruby, everything is an object, and classes define the blueprints for creating objects. In this guide, we'll delve into classes and objects, explore how to create them, and understand their essential role in Ruby development.

Creating a Class

You can define a class in Ruby using the class keyword, followed by the class name. Here's an example of a simple class definition:

class Person
def initialize(name, age)
@name = name
@age = age
def greet
puts "Hello, my name is #{@name}. I am #{@age} years old."

In this example, we've created a Person class with an initialize constructor method and a greet method.

Creating Objects from a Class

Objects are instances of a class. To create an object from a class, you can use the new method and provide any required arguments to the constructor:

person1 ="Alice", 30)
person2 ="Bob", 25)

Here, we've created two Person objects, person1 and person2, with different names and ages.

Accessing Object's Methods and Attributes

You can call methods on objects and access their attributes using dot notation:


This code calls the greet method for both person1 and person2 objects.


Classes and objects form the foundation of Ruby's Object-Oriented Programming model. They enable you to encapsulate data and behavior, leading to more organized and modular code. Understanding classes and objects is essential for building complex applications in Ruby.

Practice creating classes, defining objects, and working with methods and attributes in your Ruby programs to become a proficient Ruby developer. For more information, refer to the official Ruby documentation.

Happy coding!