본문 바로가기
Kotlin/Kotlin 문법

코틀린 기본 문법 5 - 기타기능

by MonoSoft 2022. 6. 14.
728x90
반응형

코틀린 기본 문법 5 - 기타기능

 

//*******************************  확장 함수

//쉽게 기존 클래스에 함수를 추가할수 있다

//확장함수를 추가할 클래스에 점을 찍고 함수이름 작성

//확장 함수 내부에서는 이 객를 this로 접근할수 있다

//이러한 객체를 리시버 객체라고 함

 

fun Int.isEven() = this % 2 == 0

 

val aa = 5

val bb = 6

println(aa.isEven())

println(bb.isEven())

 

//******************************* 형변환

//숫자형 자료형끼리는 to자료형() 메서드를 사용하여 형변환 가능

val a = 10L

val b = 20

val c = a.toInt()

val d = b.toDouble()

val e = a.toString()

 

//문자형 숫자를 숫자타입으로 변환

val intStr = "10"

val str = Integer.parseInt(intStr)

println(str)

 

//일반 클래스간에 형변환을 할려며 as 사용

open class Animal

class Dog : Animal()

val dog = Dog()

val animal = dog as Animal //dog를 Animal형으로 변환

 

//******************************* 형체크

//is 키워드를 사용하여 형을 체크할수있다.instanceOf 사용

var sstr = "hello"

if (sstr is String) { //str이 STring이라면 들가...이후 sstr은 타입케스팅됨

println(sstr.toUpperCase())

}

//******************************* 고차함수

//인수로 함수를 전달하거나 함수를 반환할수있다.

//인수 : 숫자, 숫자, 하나의 숫자를 인수로 하는 반환값이 없는 함수

fun add(x : Int, y : Int, callback : (sum : Int) -> Unit) {

callback(x + y)

}

add(5,6,{println(it)})

 

//******************************* 동반객체

class Fragment {

companion object {

fun newInstance() {

println("생성됨")

}

}

}

val fragment = Fragment.newInstance()

//******************************* let()함수

//******************************* with()함수

//******************************* apply()함수

//******************************* run()함수

 

728x90
반응형

'Kotlin > Kotlin 문법' 카테고리의 다른 글

변수와상수  (0) 2022.07.11
앱 개발을 위해서 꼭 알아야할 코틀린 문법 3가지  (0) 2022.07.05
코틀린 기본 문법 4  (0) 2022.06.02
코틀린 기본 문법 3  (0) 2022.05.26
코틀린 기본 문법 2  (0) 2022.05.25

댓글