getter 및 setter에 대한 Java 규칙을 따르는 메소드 (get으로 시작하는 이름을 가진 인수가없는 메소드 및 set로 시작하는 이름을 가진 단일 인수 메소드)는 Kotlin의 특성으로 표시됩니다. 그러나 Java getter / setter 쌍의 속성을 생성하는 동안 Kotlin은 처음에는 getter를 찾습니다. 게터는 게터 유형에서 속성 유형을 유추하기에 충분합니다. 반면에 세터 만있는 경우 속성이 생성되지 않습니다 (코 틀린은 현재 설정 전용 속성을 지원하지 않기 때문에).
세터가 작동하면 속성 생성 프로세스가 약간 모호해집니다. 그 이유는 getter와 setter의 유형이 다를 수 있기 때문입니다. 또한 getter 및 / 또는 setter는 하위 클래스에서 재정의 될 수 있습니다.이 클래스는 Android의 EditText와 동일합니다.
위의 경우 Android TextView 클래스에는 getter가 포함되어 있습니다.
CharSequence getText()
세터 보이드
setText(CharSequence)
TextView 유형의 변수가 있으면 코드가 정상적으로 작동했을 것입니다. 그러나 재정의 된 getter가 포함 된 EditText 클래스를 사용했습니다.
Editable getText()
즉, EditText에 대한 Editable을 가져와 Editable을 EditText로 설정할 수 있습니다. 따라서 Kotlin은 합리적으로 편집 가능한 유형의 합성 속성 텍스트를 만듭니다. String 클래스는 Editable이 아니기 때문에 EditText 클래스의 text 속성에 String 인스턴스를 할당 할 수 없습니다.
JetBrains가 getter 메소드의 주요 역할을 지정하는 동안 Java getter 및 setter 메소드에 대한 kotlin 특성을 생성하는 것을 잊어 버린 것 같습니다. 어쨌든, 나는 github을 통해 Jet brains kotlin 웹 사이트에 풀 요청을 제출했습니다.
나도이 매체 게시물에 문제 이상 설명했다 합니까 코 틀린 자바 게터와 세터에서 속성 (JetBrains의에 의해 언급되지 않음)를 생성하는 방법