- 01Setting up (what you'll need)
- 02Your first output (println)
- 03Variables (val and var)
- 04Type annotations and basic types
- 05Branching (the if expression)
- 06Repeating (the for expression)
- 07Writing your own function
- 08Repeating (the while loop)
- 09Working with lists (List)
- 10Working with maps (Map)
- 11Classes (object orientation)
- 12case class
- 13Inheritance and traits
- 14Pattern matching (the match expression)
- 15The Option type (null safety)
- 16Higher-order functions, map and filter
- 17object (singletons)
- 18Strings and string interpolation
- 19for comprehensions
- 20[Project] Build a small inventory system
object (singletons)
This lesson covers the singleton mechanism behind Scala's object keyword.
Anything defined with object becomes a special instance of which exactly one exists in the program. The object Main extends App used throughout these lessons is in fact this same mechanism.
The sample code defines a singleton, object MathUtils, gathering shared calculations, and calls its methods directly — as in MathUtils.square(5) — without creating an instance.
A common early stumble is choosing between class and object. Remember it as: a class when you need several instances, an object when you only want to gather shared utility functions or constants.
In professional work, an object is the usual home for the kind of logic that would be a static method in Java.
๐งช This site can't compile or run Scala directly, so it checks on the spot whether what you typed matches the reference code (scoring happens entirely in your browser โ nothing is sent anywhere).
