Kotlin3 [Kotlin] Sealed Class / Interface 등장 배경카페에 주문이 들어왔다고 가정한다. 여러가지 과정이 있겠지만 크게알바생은 손님의 주문을 받는다.알바생은 손님이 주문한 음료를 만든다.알바생은 만들어진 음료를 손님에게 준다.의 과정으로 진행될 것이다. 이때 알바생을 Staff 클래스, 알바생이 해야 할 행동을 Staff 를 상속한 클래스로 표현하면 아래와 같다.open class Staff()class GetOrder : Staff()class MakeOrder : Staff()class GiveOrder : Staff()이때 각 단계별로 알바생의 상태를 확인하는 getStaffStatus(staff: Staff) : String 함수를 만들어 알바생의 상태에 따라 어떤 상태인지 확인한다면 다음과 같이 표현할 수 있을 것이다.fun getStaf.. 2024. 12. 10. [Kotlin] Null-Safety ?. !! ?: Kotlin의 특징 중 "Null-Safety한 언어" 라는 것이 있다. 일을 하며 ?. !! ?.let 등 여러 nullable한 값에 대해 처리를 했는데, 차이점을 모르고 그냥 사용한 것 같아 공식문서를 보고 각 연산자의 특징과 왜 Null-Safety 한 언어라고 하는지 알아보았다. 지금부터 그 내용을 정리하며, 블로그에 남긴다. NullPointerException 자바를 비롯한 대부분의 언어에서 흔히 볼 수 있는 에러는 NullPointerException 이다. Null을 참조하는 멤버에 접근하려고 했을 때 발생하는 에러이며, 공식문서에서는 NPE라고 하고 있다. kotlin에서 NPE가 일어날 수 있는 가능성은 다음과 같다. 1. 의도적으로 NullPointerException을 발생시킬때(.. 2023. 10. 23. [Kotlin] apply, run, with, let, also 코틀린의 범위 지정 함수 - 특정 객체애 대한 작업을 블록(특정 객체에 대해 할 작업의 범위) 안에 넣어 실행할 수 있도록 하는 함수. - 구성 요소 : 수신 객체, 수신 객체 람다 [ 공식문서 ] https://kotlinlang.org/docs/scope-functions.html The Kotlin standard library contains several functions whose sole purpose is to execute a block of code within the context of an object. When you call such a function on an object with a lambda expression provided, it forms a temporary sc.. 2023. 9. 5. 이전 1 다음