tags: scala oops singleton

A companion object is a object with same as a class.

 
class Circle(radius: Double):
    import Circle.*
    def area: Double = Circle.calculateArea(radius)
 
object Circle:
    private def calculateArea(radius: Double): Double = 3.14 * scala.math.pow(radius, 2.0)
 
var circle = Circle(5)
 
println(circle1.area)

So, object Circle is used a single object with static method for class Circle.