반응형
SMALL

코틀린 14

[Android] 코틀린(Kotlin)과 자바(Java)의 상호운용

이전까지 코틀린(Kotlin)에 대해 전반적으로 학습하였습니다 그런데 코틀린 코드는 자바 바이트코드로 컴파일되므로 자바와의 상호운용이 된다는 것을 짐작하셨을텐데요 그래서 오늘의 학습 주제는 바로 이 부분입니다 자바와의 상호운용은 코틀린의 중요한 특성이여 코틀린 파일과 자바 파일이 같은 프로젝트에 공존할 수 있습니다 1. Jhava.java import kotlin.Unit; import kotlin.jvm.functions.Function1; import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.NotNull; import java.io.IOException; public class Jhava { private int hi..

Android 2020.06.07

[Android] 코틀린(Kotlin)의 실체화(Reification)와 확장(Extension)

지난 시간에 코틀린의 제네릭에 대해 학습했습니다제네릭에 대해 궁금하시다면 아래의 링크↓↓↓2020/05/17 - [Android] - [Android] 코틀린(Kotlin) 제네릭(Generic)[Android] 코틀린(Kotlin) 제네릭(Generic)지난 시간까지 여러 종류의 클래스와 인터페이스에 대해 학습하였습니다 오늘의 학습 주제는 코틀린의 제네릭(generic)에 대해 알아보겠습니다 제네릭은 클래스와 인터페이스의 매개변수 또는 �yssa.tistory.com그런데 컴파일된 JVM 바이트코드에는제네릭 타입 매개변수의 정보가 수록되지 않고 소거됩니다따라서 프로그램 런타임 시에 아래와 같이 타입과 관련한 문제가 발생할 수 있습니다 (원인) List

Android 2020.06.07

[Android] 코틀린(Kotlin) 제네릭(Generic)

지난 시간까지 여러 종류의 클래스와 인터페이스에 대해 학습하였습니다 오늘의 학습 주제는 코틀린의 제네릭(generic)에 대해 알아보겠습니다 제네릭은 클래스와 인터페이스의 매개변수 또는 함수의 매개변수와 반환 타입을 미리 확정하지 않고 정의한 후에 사용되는 시점에서 특정 타입을 지정할 수 있도록 해주는 기법을 말합니다 /* type constraint */ class LootBox(vararg item: T) { var open = false private var loot: Array = item operator fun get(index: Int): T? = loot[index].takeIf { open } fun fetch(item: Int): T? { return loot[item].takeIf { ..

Android 2020.05.17

[Android] 코틀린(Kotlin) sealed 클래스, 추상클래스, 인터페이스

이번 학습 주제는 지난 학습에서 미처 하지 못한 코틀린의 sealed class와 추상 클래스 및 인터페이스입니다 지난 학습에서 enum 클래스에 대해 살펴보았습니다 지난 학습 주제가 궁금하시다면 ↓↓↓ 2020/05/04 - [Android] - [Android] 코틀린(Kotlin) 다른 타입의 클래스(Class) [Android] 코틀린(Kotlin) 다른 타입의 클래스(Class) 지난 학습 주제는 코틀린 클래스의 상속과 타입이었습니다 아래에 클래스에 관한 지난 학습들의 링크를 걸어놓겠습니다 2020/05/04 - [Android] - [Android] 코틀린(Kotlin) 클래스(Class) 생성과 초기화 [Android.. yssa.tistory.com enum 클래스는 ADT(Algebrai..

Android 2020.05.08

[Android] 코틀린(Kotlin) 다른 타입의 클래스(Class)

지난 학습 주제는 코틀린 클래스의 상속과 타입이었습니다 아래에 클래스에 관한 지난 학습들의 링크를 걸어놓겠습니다 2020/05/04 - [Android] - [Android] 코틀린(Kotlin) 클래스(Class) 생성과 초기화 [Android] 코틀린(Kotlin) 클래스(Class) 생성과 초기화 오늘의 학습 주제는 코틀린의 클래스(Class)입니다 클래스하면 떠오르는 것은 객체 지향(object-oriented)인데 워낙에 정보가 많은 부분이기 때문에 설명은 생략하고 바로 코드로 진행해보겠습니다 package com.ro.. yssa.tistory.com 2020/05/04 - [Android] - [Android] 코틀린(Kotlin) 클래스(Class)의 상속(Inheritance)와 타입(T..

Android 2020.05.04

[Android] 코틀린(Kotlin) 클래스(Class)의 상속(Inheritance)와 타입(Type)

이번 학습은 지난 학습에 이어 코틀린의 클래스에 대해 학습하겠습니다 지난 학습에 클래스의 생성과 초기화에 대해 알아보았는데요 모르신다면 아래의 링크로↓↓↓ 2020/05/04 - [Android] - [Android] 코틀린(Kotlin) 클래스(Class) 생성과 초기화 [Android] 코틀린(Kotlin) 클래스(Class) 생성과 초기화 오늘의 학습 주제는 코틀린의 클래스(Class)입니다 클래스하면 떠오르는 것은 객체 지향(object-oriented)인데 워낙에 정보가 많은 부분이기 때문에 설명은 생략하고 바로 코드로 진행해보겠습니다 package com.ro.. yssa.tistory.com 이번에는 먼저 상속(inheritance)에 대해 알아보겠습니다 상속은 타입 간의 계층적인 관계를 정..

Android 2020.05.04

[Android] 코틀린(Kotlin) 클래스(Class) 생성과 초기화

오늘의 학습 주제는 코틀린의 클래스(Class)입니다 클래스하면 떠오르는 것은 객체 지향(object-oriented)인데 워낙에 정보가 많은 부분이기 때문에 설명은 생략하고 바로 코드로 진행해보겠습니다 package com.ros.sandbox import java.io.File import javax.swing.GroupLayout class Player( /* primary constructor */ _name: String, var healthPoints: Int, val isBlessed: Boolean, /* information hiding and encapsulation */ private val isImmortal: Boolean) { /* class property */ var name..

Android 2020.05.04

[Android] 코틀린(Kotlin) 컬렉션(Collection)

하루만 더 일하면 6일간의 휴가가 찾아오는 즐거운 밤이네요-_- 요새 나이를 먹었는지 숙취가 하루 꼬박 가네요ㅜㅜ 코로나19의 영향으로 해외는 못나가서인지 제주도 호텔은 풀이라는 소문이... 한박자 빠르게 미리미리 준비해야 휴가도 제대로 즐길 수 있겠네요 오늘의 학습 주제는 코틀린의 컬렉션입니다 컬렉션은 연관된 값들을 모아서 저장하고 사용하는 방법을 제공하는 것을 말합니다 컬렉션에는 List, Set, Map 이렇게 세가지 종류가 있고 컬렉션에 저장된 각각의 데이터를 요소(element)라고 합니다 먼저 List에 대해 알아보겠습니다 val patronList: List = listOf("Eli", "Mordoc", "Sophie") val mutablePatronList: MutableList = mu..

Android 2020.04.28

[Android] 코틀린(Kotlin) 표준 라이브러리 함수(Standard Library Functions)

따뜻한 날씨가 지속되다가 강풍이 매일 불고 있네요-_- 드라이 맡기고 옷장으로 들어간 옷이 다시 나오게 된 상황ㅜ.ㅜ 환절기에 감기들 조심하시고 오늘도 학습을 이어가도록 하겠습니다 오늘은 코틀린의 표준 라이브러리 함수 몇가지를 알아보도록 하겠습니다 import java.io.File private fun nameIsLong(name: String) = name.length >= 20 private fun playerCreateMessage(nameTooLong: Boolean): String { return if ( nameTooLong ) { "Name is too long. Please choose another name." } else { "Welcome, adventurer" } } fun mai..

Android 2020.04.26

[Android] 코틀린(Kotlin) 문자열(String)과 숫자(Numeric)

비가 한번 내리더니 따뜻했던 날씨가 급 추워졌네요 환절기에 감기 조심하셔서 코로나로 의심받지 않으시길.. 아무튼 오늘의 학습 주제는 코틀린(Kotlin)의 문자열(String)과 숫자(Numeric)입니다 먼저 문자열부터 보겠습니다 import kotlin.math.roundToInt const val TAVERN_NAME = "Taernyl's Folly" var playerGold = 10 var playerSilver = 10 private fun performPurchase(price: Double) { displayBalance() val totalPurse = playerGold + (playerSilver / 100.0) println("Total amount of wallet : Gold ..

Android 2020.04.21
반응형
LIST