Singleton Objects: Companion

In this lesson, you will be introduced to singleton objects and learn how to write a singleton companion object.

We'll cover the following

A singleton object is defined the same way a class is defined with the difference that instead of the class keyword, we use the object keyword.

Unlike a class, which can be instantiated multiple times, a singleton object only has a single instance. This is why we cannot use new to create an instance of a singleton object.

There are two types of singleton objects:

  1. Companion Objects
  2. Standalone Objects

Companion Objects

A singleton object which has the same name as a class is known as the companion object of that class and the class is known as the companion class. Companion objects and classes can access each other’s private members.

Let’s define a companion object of the ChecksumAccumulator class defined in the previous lesson.

Create a free account to access the full course.

By signing up, you agree to Educative's Terms of Service and Privacy Policy