record 클래스
Oracle Java SE 14 Update 소개글
JDK 14에 추가된 새로운 형선언 방법 방법으로 enum 처럼 제한된 형태의 class
변경되지 않는(final) 데이터로 생성자(constructor)와 접근자(get)만 있는 경우에 이상적이라고 소개하고 있다
public class User {
@Serialized("id")
int id;
@Serialized("email")
String email;
@Serialized("nickname")
String nickname;
User(int id, String email, String nickname) {
this.id = id;
this.email = email;
this.nickname = nickname;
}
public int getId() {
return id;
}
public String getEmail() {
return email;
}
public String getNickname() {
return nickname;
}
}
와 같이 데이터, 생성자, get메소드를 통한 값의 접근만 가능한 경우에 이상적이라고 한다.
위의 코드를 record를 사용하게 되면 아래와 같이 간단하게 작성할 수 있다.
public record User (
@Serialized("id") Integer id,
@Serialized("email") String email,
@Serialized("nickname") String nickname
)
record가 자동으로 해준다.
record는 이미 record를 상속 받았기 때문에 다른 클래스를 상속받을 수 없고 자식을 생성(상속)할 수 없다
다른 내용들은 좀 더 보충할 예정