본문 바로가기

⭐ SpringBoot/@Annotation

@UtilityClass

반응형

# UtilityClass 에 대해서 정의

@UtilityClass는 Project Lombok 라이브러리에서 제공하는 어노테이션입니다. 이 어노테이션은 클래스가 유틸리티 클래스임을 나타냅니다.

유틸리티 클래스란, 상태를 가지지 않는 메서드들만을 모아놓은 클래스를 말합니다. 이러한 클래스는 보통 static 메서드들로만 이루어져 있습니다.

@UtilityClass 어노테이션을 사용하면 다음과 같은 효과가 있습니다:

  1. 클래스를 final로 만들어, 상속을 방지합니다.
  2. 기본 생성자를 private으로 만들어, 인스턴스 생성을 방지합니다.
  3. 클래스 내의 모든 메서드를 static으로 만듭니다.

따라서, @UtilityClass 어노테이션은 유틸리티 클래스를 쉽게 만들 수 있도록 도와줍니다.

예를 들어, 다음과 같이 사용할 수 있습니다:

import lombok.experimental.UtilityClass;

@UtilityClass
public class MyUtilityClass {
    public void myMethod() {
        // ...
    }
}

이 경우, MyUtilityClassfinal 클래스가 되며, myMethod() 메서드는 static 메서드가 됩니다. 또한, MyUtilityClass의 인스턴스를 생성할 수 없습니다.

반응형

'⭐ SpringBoot > @Annotation' 카테고리의 다른 글

Spring Bean (스프링 빈) 이란?  (0) 2024.06.07
@RequestBody, @ResponseBody, @PathVariable  (0) 2024.05.14
@Transactional  (1) 2023.10.10