더북(TheBook)

data 클래스의 프로퍼티는 이름에 의해 대입되는 것이 아니라 순서대로 대입된다. 어떤 객체를 구조 분해에 사용했는데 이후 그 data 클래스에서 맨 마지막이 아닌 위치에 프로퍼티를 추가하는 경우, 새 프로퍼티가 기존에 다른 값을 대입받던 식별자에 대입되면서 예상과 다른 결과를 낳을 수 있다(연습 문제 3 참조). 이런 오류를 컴파일러가 잡아주면 좋겠지만, 여러분이 작성한 data 클래스에 추가된 프로퍼티 타입과 원래 그 위치에 있던 프로퍼티 타입이 같으면 컴파일러는 이 문제를 감지할 수 없다. PairTriple 같은 라이브러리가 제공하는 data 클래스는 프로퍼티 순서가 바뀌지 않으므로 구조 분해해도 안전하다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.