티스토리 뷰

Java

[Java] Lombok @UtilityClass

snail voyager 2025. 1. 12. 17:30
728x90
반응형

유틸리티 클래스(Static 메서드만 포함하는 클래스)를 작성할 때 유용하게 사용할 수 있는 애노테이션

1. Private 생성자 자동 생성

  • @UtilityClass를 붙이면 Lombok이 자동으로 private 생성자를 생성합니다.
  • 이를 통해 해당 클래스의 인스턴스화가 불가능해집니다.
@UtilityClass
public class MathUtils {
    public int add(int a, int b) {
        return a + b;
    }
}

2. 모든 멤버가 자동으로 static 처리

  • 클래스 내부의 모든 필드와 메서드가 자동으로 static으로 변환됩니다.
  • 개발자가 static 키워드를 명시하지 않아도 됩니다.
@UtilityClass
public class StringUtils {
    public String toUpperCase(String input) {
        return input.toUpperCase();
    }
}

3. 코드 간결화

  • @UtilityClass를 사용하면, 수동으로 생성자를 private으로 선언하거나 메서드 및 필드에 static을 추가하지 않아도 됩니다.
  • 이를 통해 코드의 가독성과 유지보수성이 향상됩니다.

유틸리티 클래스의 일반적인 사용 예

  • 공통적으로 사용하는 상수, 헬퍼 메서드, 또는 정적 유틸리티 메서드를 정의할 때 사용합니다.
@UtilityClass
public class Constants {
    public final String APP_NAME = "MyApp";
    public final int MAX_USERS = 100;
}

 

728x90
반응형

'Java' 카테고리의 다른 글

[Java] OpenCSV  (0) 2025.01.26
[Java] record  (0) 2025.01.12
[Java] Junit Parameterized Test  (0) 2024.12.04
[Java] 비트 연산  (0) 2024.10.13
[Java] 단위테스트 Spock Framework  (0) 2024.06.09
반응형
300x250