본문 바로가기

kotlin

Lambda Lambda-First class function : 1급함수 => 함수를 하나의 타입/ 자료형으로써 표현이 가능하다는 것1. 변수 에 저장할 수 있음2. 인자로 전달할 수 있음3. 반환값 으로 전달될 수 있음4. 반환값 시점에 생성이 가능함5.런타입 시점에 생성이 가능함6. 익명으로/임의로 생성이 가능함-Funtion type : 함수타입 () -> Unit(int) -> Double(String , List) -> Stringval test : (String) -> Unit = .. -HOF : Higher Order Function(고차함수) 함수타입으로 인자를 받거나 함수타입으로 리턴값을 되돌려주는 함수, 즉 함수를 데이터 처럼 소비하거나 함수를 생산 할 수 있음. fun testHOF (inpu..
NESTED & INNER CLASS NESTED & INNER CLASS nested class : 외부 클래스 안쪽에 중첩된 클래스 , 거의 패키지 수준inner class : 중텁 되었으나 하나의 내부 맴버로써 정의된 클래스, 외부 클래스의 보이는 모든 자원 들을 접근 할 수 있음
DATA CLASS & TUPLES DATA CLASS & TUPLES Tuples 이란 관호안에 묶은 데이터들의 집합이다.kotlin에서 Pair() , Triple() 클래스들이 대표적이다.java의 DTO를 만들기위해 많은 작업들이 필요한데 Kotlin에서는 data Class 를 지원하고 DTO에 해당되는 모든 작업들을 지원한다.Pair, Triple 이라는 튜플 데이터 클래스 또한 DTO 의 기능을 사용하는 튜플 데이터 클래스이다.아래와 같이 사용한다.val backpack = Pair(10,"검정색 백팩") println(backpack.first) println(backpack.second) first, second로 접근한다. data class Member (var id : Int = 0, var name : String ..
Function : VARIABLE ARGUMENT Function : VARIABLE ARGUMENT Variable ArgumentsVariable Arguments 는 가변 인자 함수이다. 파라메터가 몇개가 들어오든간에 상관없이 가변적으로 파라메터의 값을 가질 수 있는것이다. vararg제한자는 함수의 마지막 인자를 대상으로하는것을 권장하며, 오직 한개의 인자만 가변인자가 될 수 있다.예를들어 아래의 식을 보면var nums : IntArray = intArrayOf(1,2,3) intArraayOf 에 1,2,3 이 들어가 있다 하지만 1개혹은 없어도 이 함수는 동작한다.koltin에서 ~Of 라고 들어가는 함수들은 전부 가변 인자 함수로 이루어져 있다./** * Returns an array containing the specified [Int]..
함수기본(Function) 함수기본(Function) kotlin 에서 함수는 리턴형과 리턴하지 않는 형으로 나뉜다.java에서 void 라는 리턴하지 않는 형태의 Unit과 return 하는 Int, Stirng, 객체 등으로 나뉜다. fun thisIsFunction(argment : Int, parameter : Int?) : Unit { println("hello ") }위의 식에서 Unit은 아무것도 리턴하지 않는 void와 유사한 형태의 함수형태이다. Unit은 생략이 가능하다. fun thisIsFunction(argment : Int, parameter : Int?) : Int { return argment *3; }위의 식에서 Int 를 리턴하고 있는 함수 형태이다. 딱 보면 알 수 있듯이 위의 함수는 함수 바디에..
collection-Map collection-Map Map, Dictionary, Hash : 데이터 구별을 위한 키와 그에 대응되는 값으로 표현되는 공통 데이터 구조이다.(연관배열) 위의 사진과 같이 Key와 Value의 값을 이용한 알고리즘 이다. 이때 Key 값은 중복을 절대 허용하지 않는다. Kotlin 에서는 아래와 같이 쉽게 map을 구현할 수 있다. val students = mapOf("Alice" to 23) mapOf() 를 선언하고 to를 기준으로 앞에 key 뒤에 value이다. to 는 키워드가 아니라 중계식 함수 이다. 위에서 map은 중복을 허용하지 않는다고 했었다. 그렇다면 중복 key값을넣으면 어떻게 되는지 보자 val students = mapOf("Alice" to 23 , "peter" to ..
For문 For 문 array 의 요소만 사용할 수 있음val eng = charArrayOf('A','b','c') for( i in eng){ print(i + " ") }A b c 해당되는 index 값만 얻어서 숫자만 사용함val eng = charArrayOf('A','b','c') for( i in eng.indices){ print(i) 012 인덱스의 숫자와 해당 배열의 요소 전부 사용함 val eng = charArrayOf('A','b','c') for( (i,element) in eng.withIndex()){ print("$i $element ") }
Array Array Koltin 에서의 array는 많은 종류들이 있다. val a = Array(2, {0}) Array를 선언하고 첫번째 파라메터에 2 라는 배열 사이즈를 넣어주고 두번째 파라메터에 람다식의 fun 함수를 넣어 값을 초기화 했다. Kotlin 에서는 generic 을 지원한다.generic 타입을 제안하는것을 말한다. 그 형태는 아래와 같다. val b = Array(3, { '_' }) //Array //타입 제한 인자 generic 또한 아래와 같이 null로 초기화 할 수 있다. val c = Array(4,{null}) 위의 식에서 Int? 라는것을 볼 수 있다 이것은 초기화를 null로 했기 때문에 ? 을 붙여줘야 한다. Array배열 에서 값을 넣을때는 set이나 [] 을 아래코드와..