Home »
Scala
Scala - Difference between Object and Case Object
By IncludeHelp Last updated : October 26, 2024
Scala Object
An object is an instance of a class, it can also be seen as a class that has only a single instance. Like class, you can create fields and methods for object too. Example,
Syntax
object Myclass{
def add();
}
Scala Case Object
case object is just like an object but with some added features and attributes. It can be seen as a blend of case class ( the defined for adapting to changes) and object. It is created with a modifier case. Example,
Syntax
case object a {
//definition.
}
Difference between Object and Case Object
The following are the key differences between Object and Case Object in Scala:
Feature |
Object |
Case Object |
Hash Code |
No default hashCode implementation |
Has a default hashCode implementation |
Serialization |
Not serializable by default |
Serializable by default |
Pattern Matching |
Limited compatibility with pattern matching |
Fully compatible with pattern matching in Scala |
toString Method |
Standard toString method, not customized by default |
Customized toString method by default for improved readability |
Usage Purpose |
Used for single-instance objects without special features |
Specially designed to offer additional features for immutability, serialization, and pattern matching |