record로 값 모델링하기 예제가 실행되는 순서
컴포넌트 값을 생성자에 전달에서 시작해 값 기반 메서드를 자동 제공까지 값과 책임이 이동한다.
-
1
컴포넌트 값을 생성자에 전달
record Point(int x, int y)는 final 필드와 x(), y() 접근자, 생성자를 제공합니다.
-
2
compact 생성자가 불변식 검사
같은 컴포넌트 값을 가진 두 record는 동등하게 비교됩니다.
-
3
값 기반 메서드를 자동 제공
매개변수 목록 없이 생성자 본문을 선언하고 컴포넌트에 대입되기 전에 정규화하거나 거부할 수 있습니다.
실행 순서 Range의 구성 값이 같아 equals가 true이고 compact 생성자가 잘못된 구간을 막습니다.