Java
JAVA Record
얘진
2022. 12. 19. 10:47
Record는 Class가 데이터 클래스임을 나타내고
자바 17버전 이상부터 사용할 수 있음 !
데이터를 묶어놓으려고 클래스를 만들 때 (예 - DTO)
public class ChatMessage{
private final int id;
private final String name;
public ChatMessage(int id, String name) {
this.id = id;
this.name = name;
}
public int getId() {
return id;
}
public String getName() {
return name;
}
}
원래의 긴 코드(멤버변수 + 생성자 + Getter)를 Lombok을 이용해서 아래의 코드 처럼 간단하게 만들어서 사용했다.
Lombok은 자바 언어 자체에 들어있지 않는 라이브러리라서 추가를 해야한다.
import lombok.AllArgsConstructor;
import lombok.Getter;
@AllArgsConstructor
@Getter
public class ChatMessage {
private final int id;
private final String name;
}
자바 17버전 이상부터는 인텔리제이에서 Class can be a record 라며
record로 Convert 할 것을 띄워줌
public record ChatMessage(int id, String name) {
}
record 를 사용하면 코드를 더 간단하게 줄일 수 있다 (자동으로 생성자와 멤버변수, Getter를 만들어 준다 )
Lobok 과는 달리 Java 언어 자체에서 record를 지원하기 때문에 라이브러리를 추가하지 않아도 되고 속도도 아~~주 조금 빠르다