record에서 배열 사용하지 않기
언어/Java
2023. 8. 28. 22:12
이전에 Java에서 불변 데이터 객체를 만들기 위해서는 여러 보일러플레이트들이 많이 필요했다. 그리고 이런 불편을 해소하기 위해 JDK 14부터 record라는 녀석이 추가되었다. getter, equals, hashcode, toString 등을 자동으로 만들어주어, 불변 데이터 객체를 쉽게 만들 수 있게 해준다. 하지만 이런 record를 사용할 때 조심해야 할 점이 있다. public record Person( String[] names, int age ) { } 바로 다음과 같이 레코드의 구성요소에 배열(array)이 있을 경우이다. 레코드의 구성요소에 배열이 존재할 경우, 레코드가 보일러플레이트들을 자동으로 생성해줌에도 불구하고 직접 equals, hashcode, toString을 재정의해주어..