언어/코틀린 2

동등성, 동일성 연산(==, ===)

동등성 동일성 동등성(equals) 오브젝트 서로가 완전히 동일 값이 같은지 동일성(==) 동일한 정보를 가지고 있는 오브젝트 같은 메모리에 다른 오브젝트가 존재하는 경우 주소값이 같은지 자바 == 원시 타입일 경우 두 피연산자의 값이 같은지 비교 참조 타입일 경우 두 주소값을 비교 (동일성 검사) equals 참조타입의 동등 (동등성 검사) 코틀린 == 원시타입일 경우 두 피연산자의 값이 같은지 비교 참조 타입일 경우 equals로 비교 (== 가 내부적으로 equals) === 주소값을 비교하고 싶다면 ===을 사용 코틀린에서 주의할 점 val a : String = "hello world" val b : String = "hello world" println(a == b) // true printl..

언어/코틀린 2022.07.18

코틀린 범위 지정 함수(apply, run, with, let, also)

정의 수신 객체 지정 람다함수 특정 객체에 대한 작업을 블록 안에 넣어 실행할 수 있도록 하는 함수 이름에 따라서 범위 지정이 달라진다. apply, run, with, let, also this: 수신 객체를 람다의 수신 객체로 전달하기 때문에 lt: 수신객체를 람다의 파라미터로 접근하기 때문에 명시하지 않거나 this로 접근 lt 로 접근 수신 객체 자체 apply also Block의 마지막 줄 run, with let apply apply는 수신 객체 내부 프로퍼티를 변경한 다음 수신 객체 자체를 반환 apply 블록 안에서는 오직 프로퍼티만 사용 public inline fun T.apply(block: T.() -> Unit): T class Customer(val name: String) {..

언어/코틀린 2022.07.18