본문 바로가기
반응형

Development/Kotlin7

Sealed Class Sealed Class 사용 X 여러개의 자식클래스들이 A라는 부모클래스를 상속받았다고 했을때, 컴파일러는 A 클래스를 상속 받은 자식 클래스들이 있는지 알지 못한다. 따라서 when에서 상태에 따라 처리를 해주려면 else 처리도 같이 해주어야 한다. // 부모클래스 abstract class ListState // 자식클래스 class Loading: ListState() class Success: ListState() class Failure: ListState() // ListState에 따라 동작하는 함수 fun doListState(listState: ListState): String { return when(listState) { is Loading -> { "Loading" } is Suc.. 2022. 2. 25.
코틀린 헷갈리는 함수 정리. let, apply, run, with 코틀린 헷갈리는 함수 정리. let, apply, run, with 1. letlet 함수를 호출하는 객체를 블록의 인자로 넘기고, 블록의 결과값을 반환한다.또한 널 처리(if (a != null) 를 대신할 수 있다. inline fun T.let(block: (T) -> R): R - 사용규칙: 널체크후 코드실행하고 싶을 경우,: 블록 내의 결과물을 반환하고 싶을 경우.: 단일 지역 변수의 범위를 제한하고싶을 경우. @Test fun blockTest() { val person = Person("park", "jieun") val result = person?.let { printPerson(it.lastName + it.firstName) } Assert.assertEquals(result, "pa.. 2019. 2. 2.
3.자바와는 다른 코틀린의 특징 3.자바와는 다른 코틀린의 특징 클래스: 자바와 달리 코틀린에서만 제공하는 클래스에 대한 기능을 살펴본다. - 데이터 클래스: 자료를 구성하는 프로퍼티만 선언하면 컴파일러가 equals(), hashCode(), toString()함수를 자동으로 생성해준다.data class Person(val lastName: String, val firstName: String): 객체.toString()을 하면 다음과 같은 출력결과가 나온다.val me = Person("John", "Park") println("Me = $me" )Me = Person(lastName=John, firstName=Park) - 한정클래스(sealed class): enum 클래스를 확장한 개념으로, 각 종류별로 하나의 인스턴스만 .. 2019. 1. 1.
2. 자바와 비교해 보는 코틀린 2 2. 자바와 비교해 보는 코틀린 2 자료/자료형의 확인 및 변환 - 자료의 동일성 확인: ==, === 연산자 : == 연산자는 객체냐 객체의 값이냐를 구분할 필요 없이 ==연산자를 사용한다. 또한 비교하는 값의 널 여부를 함께 확인한다.: === 연산자는 객체 자체가 동일한지 여부에 대한 비교 연산자이다. - 자료형 확인: is 연산자: is연산자는 자료형을 확인하기 위해 사용한다. (자바의 instanceOf): !is 연산자는 자료형이 아닌지는 확인할때 사용한다. - 자료형 변환: as 연산자123fun processNumger(number: Number) { val foo : Int = number as Int}Colored by Color Scriptercs - 스마트 캐스트: 자료형 추론이 가.. 2018. 11. 11.
반응형