카테고리 없음

2023.08.25 TIL - Lombok

인생은야메다 2023. 8. 26. 03:26

1. Gradle 이란?

Gradle은 자바의 빌드 자동화 시스템이다.

빌드라는 것은 소스 코드를 실행 가능한 파일로 만드는 과정을 뜻하는데, gradle은 우리가 작성한 Java 소스 코드를 설정에 맞게 자동으로 빌드해 실행 가능한 jar 파일로 만들어 준다.

 

build.gradle은 gradle 기반의 빌드 스크립트이다.

이 스크립트를 작성하여 프로젝트의 라이브러리 의존성을 관리하고, 소스 코드를 빌드할 수 있다.

해당 스크립트의 dependencies 부분에 외부 라이브러리를 작성하면 Gradle이 이를 확인한 후 라이브러리들을 모아둔 외부 저장소에서 자동으로 다운로드해 준다.

 

라이브러리 간 의존성을 자동으로 관리해 주기에 충돌 걱정이 없다는데, 이 부분은 무슨 뜻인지 이해가 되지 않았다.

External Libraries 항목에서 gradle이 다운로드해온 라이브러리를 확인할 수 있다.

 

 

2. 어노테이션(Annotation)

컴퓨터가 읽을 수 있는 주석이라는 표현을 많이 들었다. 기본적으로 @로 표현하며, 클래스와 상속에서 override도 어노테이션 중 하나일 것이다. 컴퓨터가 해당 항목이 어떤 것인지를 읽고 필요한 것을 추가할 수 있도록 간결하게 표기한 것이다.

오늘 사용한 lombok과 spring의 기능은 이 어노테이션을 많이 사용하였다.

 

 

3. lombok

Lombok은 일반적인 Class에 사용되었다. 일반적으로 Class에서는 데이터를 private로 저장하고, 이를 접근할 수 있는 메소드를 활용해 읽고 쓰는 역할을 대신한다. Class를 생성할 때마다 이 접근을 위한 메소드를 선언해야 하는데, Lombok은 어노테이션을 활용해 이를 자동으로 처리할 수 있게 만들어 준다.

 

@Getter : Class의 값을 반환하는 메소드를 생성한다. 

@Setter : Class의 값을 변경하는 메소드를 생성한다.

 

@NoArgsConstructor : 파라미터가 없는 기본 생성자를 생성한다. field에 final 변수가 있을 경우 컴파일 에러가 발생한다.
@RequiredArgsConstructor : final, 혹은 @NonNull인 필드 값만을 파라미터로 받는 생성자를 생성한다.
@AllArgsConstructor : 모든 필드 값을 파라미터로 받는 생성자를 생성한다.