kotlin 4

Calling Extension

들어가며 코틀린은 이미 정의된 클래스를 확장 시킬 수 있는 기능이 있다. 예를 들어서 아래와 같이 String 클래스에 원하는 메서드를 추가 할 수 있다. fun String.getFirst() = this[0] println("hello".getFirst()) //print 'h' 원리 원리는 생각보다 간단하다. 자바에서 static을 사용하여 기존 클래스를 입력받아 처리하는 메서드를 생성함으로써 사용자 입장에서는 기존의 클래스를 확장시킨 것처럼 보이게 하는 것이다. public static String getFisrt(String string){ return string[0];} Question? 그렇다면 만약 상속 관계에 있는 두 개의 클래스를 이용하여 아래와 같이 코드를 작성하면 어떤 문자열이 출..

Android/Kotlin 2021.08.19

[Kotlin] Extension Function

Basics Extension Function은 클래스를 확장한다. 클래스 밖에서 정의 되지만 regular 멤버로 클래스 내부에서 호출할 수 있다. fun String.getLast(number: Int) = this.get(this.length-1) class Test{ fun main(){ val c: Char ="abc".getLast() } }Receiver 확장 함수가 호출 될 때는 this가 reveiver로서 호출된다. 또한 기본적으로 this의 멤버 변수나 함수를 호출하기 위해서 일일이 this를 정의할 필요가 없다. fun String.getLast(number : Int)=get(length()-1)Import extension을 이용하기 위해선 import를 이용해서 명시해주어야 한..

Android/Kotlin 2021.07.19

Kotlin - 2. Packages and Imports

들어가며 코틀린의 패키지 호출은 파이썬과 동일하므로 이를 안다면 굳이 아래의 내용을 볼 필요가 없습니다. 1.Packages 패키지는 다른 소스파일의 패키지를 호출하는 것을 의미합니다. 사용법은 간단하게 package로 호출하면 됩니다. package org.example fun printMessage() { /*...*/ } class Message { /*...*/ } // ... 2.Imports import지시어를 통해서 패키지 내부의 클래스를 따로 호출 할 수 있습니다. import org.example.Message // Message is now accessible without qualification import org.example.* // everything in 'org.exampl..

Android/Kotlin 2020.03.29

Kotlin - 1. 기본 타입(numbers, characters, booleans, arrays, and strings)

들어가며 이번 글에서는 처음으로 코틀린을 공부해보는 만큼 코틀린에 쓰이는 기본타입(numbers, characters, booleans, arrays, and strings)에 대해서 알아보도록 하겠습니다. 1. Numbers 1. 정수 1. 파이썬, javascript처럼 변수에 따로 타입을 선언하지 않음 2. 일반적인 정수를 저장하면 Int로 설정 3. Int의 범위 밖이나 뒤에 L을 추가하면 Long으로 설정 4. 변수이름 : 타입 = ? 구문을 통해서 직접 타입 설정 가능 val one = 1 // Int val threeBillion = 3000000000 // Long val oneLong = 1L // Long val oneByte: Byte = 1 2. 실수 val pi = 3.14 // ..

Android/Kotlin 2020.03.27