study
-
Kotlin에서 컬렉션을 함수형으로 다루는 방법 먼저 사용할 class 정의 data class Fruit( val id : Long, val name: String, val factoryPrice : Long, val currentPrice : Long ) val fruits = listOf(Fruit(1, "바나나", 2000L, 1500L), Fruit(2, "바나나", 2000L, 1500L), Fruit(3, "사과", 1500L, 1200L), Fruit(4, "사과", 1200L, 1000L), Fruit(5, "사과", 1700L, 1600L), Fruit(6, "사과", 2000L, 1700L), Fruit(7, "귤", 1000L, 500L)) 사과의 가격들을 알고싶을 때 val app..
Study About Kotlin 10Kotlin에서 컬렉션을 함수형으로 다루는 방법 먼저 사용할 class 정의 data class Fruit( val id : Long, val name: String, val factoryPrice : Long, val currentPrice : Long ) val fruits = listOf(Fruit(1, "바나나", 2000L, 1500L), Fruit(2, "바나나", 2000L, 1500L), Fruit(3, "사과", 1500L, 1200L), Fruit(4, "사과", 1200L, 1000L), Fruit(5, "사과", 1700L, 1600L), Fruit(6, "사과", 2000L, 1700L), Fruit(7, "귤", 1000L, 500L)) 사과의 가격들을 알고싶을 때 val app..
2024.04.03 -
Kotlin의 다양한 함수 사용법 코틀린은 개발자의 편의를 위해 다양한 함수를 제공한다. 이번 포스트에서는 확장 함수, 멤버 함수, 인픽스 함수, 인라인 함수, 지역 함수 등 코틀린의 다양한 함수 사용법에 대해 알아볼 거다. 확장함수 확장 함수는 기존 클래스에 새로운 함수를 추가할 수 있는 기능이다. 이 함수는 클래스 밖에서 정의되지만, 클래스의 메서드처럼 사용할 수 있다. 단, 확장 함수는 원본 클래스의 private 또는 protected 멤버에 접근할 수 없다. fun String.lastChar(): Char = this[this.length - 1] 위 예시는 String 클래스에 lastChar라는 확장 함수를 추가하는 방법을 보여준다. 이 함수는 문자열의 마지막 문자를 반환한다. 멤버함수 v..
Study About Kotlin 9Kotlin의 다양한 함수 사용법 코틀린은 개발자의 편의를 위해 다양한 함수를 제공한다. 이번 포스트에서는 확장 함수, 멤버 함수, 인픽스 함수, 인라인 함수, 지역 함수 등 코틀린의 다양한 함수 사용법에 대해 알아볼 거다. 확장함수 확장 함수는 기존 클래스에 새로운 함수를 추가할 수 있는 기능이다. 이 함수는 클래스 밖에서 정의되지만, 클래스의 메서드처럼 사용할 수 있다. 단, 확장 함수는 원본 클래스의 private 또는 protected 멤버에 접근할 수 없다. fun String.lastChar(): Char = this[this.length - 1] 위 예시는 String 클래스에 lastChar라는 확장 함수를 추가하는 방법을 보여준다. 이 함수는 문자열의 마지막 문자를 반환한다. 멤버함수 v..
2024.03.28 -
Kotlin의 예외 처리 Kotlin의 예외 처리는 Java의 예외처리와 매우 유사하다. fun function1(str: String): Int { try { return str.toInt() } catch (e: NumberFormatException) { throw IllegalArgumentException("주어진 ${str}은 숫자가 아닙니다.") } } fun function2(str: String): Int? { return try { str.toInt() } catch (e: NumberFormatException) { null } } Java는 Unchecked Exception이 있으면 예외 처리를 해야한다는 표시로 빨간 줄이 뜨며 오류를 발생시킨다. 하지만 Kotlin은 그런 오류가..
Study About Kotlin 4Kotlin의 예외 처리 Kotlin의 예외 처리는 Java의 예외처리와 매우 유사하다. fun function1(str: String): Int { try { return str.toInt() } catch (e: NumberFormatException) { throw IllegalArgumentException("주어진 ${str}은 숫자가 아닙니다.") } } fun function2(str: String): Int? { return try { str.toInt() } catch (e: NumberFormatException) { null } } Java는 Unchecked Exception이 있으면 예외 처리를 해야한다는 표시로 빨간 줄이 뜨며 오류를 발생시킨다. 하지만 Kotlin은 그런 오류가..
2024.02.28 -
Kotlin에서의 제어문 Statement : 프로그램의 문장으로 하나의 값으로 도출되지 않는다. Expression : 하나의 값으로 도출되는 문장이다. 먼저 java에서는 if-else 문을 하나의 값으로 도출되는 문장으로 취급을 하지 않는다. 하지만 Kotlin에서는 Expression으로 하나의 값으로 도출되는 문장으로 취급한다. 따라서 아래의 코드가 가능하다. fun function1(num: Int): String { return if(num >= 50) { "P" } else { "F" } } fun function2(num: Int): String { return if(num >= 90) { "A" } else if(num >= 80) { "B" } else if(num >= 70) { "..
Study About Kotlin 3Kotlin에서의 제어문 Statement : 프로그램의 문장으로 하나의 값으로 도출되지 않는다. Expression : 하나의 값으로 도출되는 문장이다. 먼저 java에서는 if-else 문을 하나의 값으로 도출되는 문장으로 취급을 하지 않는다. 하지만 Kotlin에서는 Expression으로 하나의 값으로 도출되는 문장으로 취급한다. 따라서 아래의 코드가 가능하다. fun function1(num: Int): String { return if(num >= 50) { "P" } else { "F" } } fun function2(num: Int): String { return if(num >= 90) { "A" } else if(num >= 80) { "B" } else if(num >= 70) { "..
2024.02.28 -
Kotlin에서의 타입 Kotlin에서는 선언된 기본값을 보고 타입을 추론한다. val number1 = 1// Int val number2 = 1L// Long val number3 = 1.0f// Float val number4 = 1.0// Double Kotlin에서의 타입 변환 Java에서는 더 작은 Byte를 가진 타입에서 더 큰 Byte를 가진 타입으로 변환할 때에는 명시적으로 작성하지 않아도 변환에 문제가 생기지 않았다. 하지만 Kotlin에서는 기본 타입간 변환은 명시적으로 이루어져야만 한다. val number1 = 4 val number2: Long = number1// Type mismatch (Error) val number2: Long = number1.toLong()// 변환 ..
Study About Kotlin 2Kotlin에서의 타입 Kotlin에서는 선언된 기본값을 보고 타입을 추론한다. val number1 = 1// Int val number2 = 1L// Long val number3 = 1.0f// Float val number4 = 1.0// Double Kotlin에서의 타입 변환 Java에서는 더 작은 Byte를 가진 타입에서 더 큰 Byte를 가진 타입으로 변환할 때에는 명시적으로 작성하지 않아도 변환에 문제가 생기지 않았다. 하지만 Kotlin에서는 기본 타입간 변환은 명시적으로 이루어져야만 한다. val number1 = 4 val number2: Long = number1// Type mismatch (Error) val number2: Long = number1.toLong()// 변환 ..
2024.02.28