Kotlin - 기타기능(확장함수, 형변환, 형 체크)
유용한 기타 기능
- 확장 함수 : 원래 있던 클래스에 기능을 추가하는 함수
- 형변환 : 숫자형 자료형끼리 쉽게 형변환 가능
- 형 체크 : 변수의 형이 무엇인지 검사하는 기능
- 고차 함수 : 인자로 함수를 전달하는 기능
- 동반 객체 : 클래스의 인스턴스 생성 없이 사용할 수 있는 객체
- let() 함수 : 블록에 자기 자신을 전달하고 수행된 결과를 반환하는 함수
- with() 함수 : 인자로 객체를 받고 블록에서 수행된 결과를 반환하는 함수
- apply() 함수 : 블록에 자기 자신을 전달하고 이 객체를 반환하는 함수
- run() 함수 : 익명함수처럼 사용하거나, 블록에 자기 자신을 전달하고 수행된 결과를 반환하는 함수
확장 함수
코틀린은 확장 함수 기능을 사용하여 쉽게 기존 클래스에 함수를 추가할 수 있습니다.
확장 함수를 추가할 클래스에 점을 찍고 함수 이름을 작성합니다. 확장 함수 내부에서는 이 객체를 this로 접근할 수 있고 이러한 객체를 리시버 객체라고 합니다. 아래는 Int 자료형에 짝수인지 아닌지를 알 수 있도록 isEven() 확장 함수를 추가한 예입니다.
println(b.isEven()) //true
형변환
숫자형 자료형 끼리는 to자료형() 메소드를 사용하여 형변환이 가능합니다.
val e= a.toString() //Long to String
숫자 형태의 문자열을 숫자로 바꿀 때는 자바와 마찬가지로 Integer.parseInt() 메소드를 사용합니다.
val str=Integer.parseInt(intStr)
일반 클래스 간에 형변환을 하려면 as 키워드를 사용합니다.
val aminal=dog as Animal // dog를 Animal 형으로 변환
형체크
is 키워드를 사용하여 형을 체크 할 수 있습니다. 자바의 instanceOf에 대응합니다.
'Kotlin' 카테고리의 다른 글
Kotlin - 기타기능(let, with, apply, run 함수) (0) | 2019.01.03 |
---|---|
Kotlin - 기타기능(고차함수, 동반객체) (0) | 2019.01.03 |
Kotlin - 람다식, SAM변환 (1) | 2019.01.03 |
Kotlin - 컬렉션(리스트,맵,집합) (0) | 2019.01.03 |
Kotlin - null값아님보증(!!), 안전한호출(?.), 엘비스 연산자(?:) (0) | 2019.01.03 |
댓글