Kotlin
-
[Kotlin 코틀린] Scope function - apply, with, let, also ,runKotlin 2021. 8. 28. 23:11
Scope Function Kotlin 표준 라이브러리에는 제공된 람다 식이 있는 object 에서 scope function 을 호출하면 임시 범위가 형성된다. 이 범위에서는 이름 없이 object 에 액세스할 수 있다. 코드를 더 간결하고 읽기 쉽게 만들 수 있다. Function 개체 참조 (Object reference) 반환 값 (Return value) 확장 기능 여부 (Is extension function) let it Lambda result 예 run this Lambda result 예 run - Lambda result 아니오 : Context object 없이 호출 with this Lambda result 아니오 : Context object 를 인수로 사용 apply this ..
-
[Kotlin 코틀린] 고차함수와 람다(High Order Function & Lambda)Kotlin 2021. 1. 9. 14:29
'디모의 Kotlin 강좌' 유튜브 강의 및 추가 학습하여 정리한 내용입니다. 고차함수 (High Order Function) 매개 변수 또는 반환 값으로 또 다른 함수가 사용되는 함수 fun main() { b(::a)// :: 일반함수를 고차함수로 변경해주는 연산자 } fun a (str: String) { println("$str 함수 a") } fun b (function: (String) -> Unit) { function("b가 호출한") } // 결과 : b가 호출한 함수 a ※ 반환 값이 없다면 이전에 배운 void와 같은 Kotlin 에서의 Unit 예약어를 사용하면 코틀린만의 반환 값이 없다는 특수한 객체가 전달 람다 (Lambda) 이름이 없는 익명 함수 (Anonymous Funct..
-
[Kotlin 코틀린] 추상클래스와 인터페이스 (Abstract Class & Interface)Kotlin 2021. 1. 8. 23:05
'디모의 Kotlin 강좌' 유튜브 강의 및 추가 학습하여 정리한 내용입니다. 상속과 오버라이딩 open 키워드를 이용하여 클래스가 상속될 수 있도록 할 수 있다. (코틀린은 상속 금지가 기본값으로 java의 final 클래스와 같다) 또한 오버라이딩을 위해 함수에 open 키워드를 붙이고 서브클래스에서 override 키워드를 붙여 재구현이 가능하다. open class Animal (var name:String, var age:Int, var type:String) { open fun eat() { println ("음식을 먹습니다") } fun introduce() { println ("저는 ${type} ${name} 이고, ${age} 살 입니다.") } } class Dog (name Stri..
-
[Kotlin 코틀린] 타입추론(Type inference)과 함수Kotlin 2021. 1. 6. 23:01
'디모의 Kotlin 강좌' 유튜브 강의를 듣고 내용을 정리하였습니다. Type inference (타입추론) val stringValue:String = "my string" val stringValue = "my string" // Type 생략 가능 var intArr:Array = arrayOf(1,2,3,4,5) var intArr = arrayOf(1,2,3,4,5) // Type 생략 가능 코틀린에서는 타입을 명시하지 않아도, 변수가 선언될 때 할당된 값의 형태로 어떤 자료형을 가지는지 추론해준다. → 반드시 특정 자료형으로 지정해야하는 상황이 아니라면, 타입추론 기능을 이용하여 코드량을 줄일 수 있다. 함수 fun add(a: Int, b: Int, c: Int): Int { return ..
-
[Kotlin 코틀린 기초] 변수 및 자료형 (Nullable & Non-NulKotlin 2021. 1. 6. 22:10
'디모의 Kotlin 강좌' 유튜브 강의를 듣고 내용을 정리하였습니다. 변수 - var : 일반적으로 통용되는 변수. 언제든지 읽기 쓰기가 가능 - val : 선언시에만 초기화 가능. runtime시 변경되지 말아야할 값 선언 위치에 따라 - Property(속성) : 클래스에 선언된 변수 - Local Variable(로컬변수) : 이외의 Scope 내에 선언된 변수 Kotlin과 Java 차이점 Java Kotlin 고전적인 언어들은 변수가 선언된 후 초기화 되지 않으면 기본값 또는 null값으로 초기화 기본 변수(Non-null 타입)은 null을 허용하지 않으며, 또한 초기화 하지 않은 채로 사용하게 되면 컴파일 에러 int, boolean과 같은 primitive type을 제외한 객체들은 항상..