설정하는 세터를 호출하는 것보다 더 잘 작동한다는 사실을 알게 된다. 실제로 우리는 데이터
클래스에서
var
프로퍼티를 허용하는 게 코틀린 언어 설계의 실수라고 말할 정도까지 불변 데
이터 클래스를 더 선호한다.
11.4
프로퍼티로 리팩터링하기
인텔리
J
는 코틀린 메서드와 프로퍼티를 서로 변환하는 리팩터링을 훌륭히 지원한다. 어떤 면에
서는 두 가지 모두 단순한 메서드 호출이기 때문에 이런 변환이 단순하지만, 자바 상호 운용성
이 접근자를 식별하기 위해 명명(이름 붙이기) 관습에 의존하기 때문에 다른 면에서 이런 변환
은 복잡하다. 트래블레이터에서 예제를 한 가지 살펴보자.
강인한 고객들은 캠핑을 좋아하기 때문에 애플리케이션에서 캠핑장 목록을 제공한다.
예제
11.1
[
methods
-
to
-
properties
.
0
:
src
/
main
/
java
/
travelator
/
CampSite
.
java
]
public class CampSite {
private final String id;
private final String name;
private final Address address;
...
public CampSite(
String id,
String name,
Address address
...
) {
this.id = id; ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month, and much more.