JAVA

Oct 12, 2025·
Jinyoung Jung
Jinyoung Jung
Image credit: Unsplash

I began this study not just to simply understand Java’s syntax and features, but to deeply explore why those features are necessary and how they can be applied in practice.

The topics I have studied so far are as follows.

Object Class

The Object class is the top-level parent of all classes. I studied the reasons why the Object class is necessary, the features it provides, and also learned about the concepts of identity vs. equality in Java through the equals() method.

Immutable Objects

An immutable object is an object whose state cannot be changed after it is created. Many objects provided by Java—including String, wrapper classes, and date/time objects—are immutable. I studied why immutable objects are necessary and how to create them.

String Class

The String class is used for handling character strings in Java. I studied not only the basic features of String objects but also the functional and performance differences between StringBuilder and String, as well as how Java optimizes the String class.

Wrapper & Class Classes

I learned about the limitations of Java’s primitive types and studied the wrapper classes designed to overcome them. Additionally, I studied the Class class, which represents class information, the System class, which provides system information, and other frequently used classes like Math and Random.

Enumerations (Enums)

Enums are an excellent feature that provides a high level of type safety. Rather than just learning the syntax, I studied the fundamental reasons why enums are necessary. I also tried implementing the “typesafe enum pattern” that was manually implemented in the days before enums existed.

Nested and Inner Classes

Placing a class within another class is known as a nested or inner class.

Exception Handling

While Java’s exception handling syntax is simple, I studied why exception handling is necessary.