My 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 에서 배열과 컬렉션을 다루는 방법에 대해 알아보자. 배열 다루기 Kotlin에서 배열을 사용하는 방법은 Java와는 다소 다르다. 아래 순서대로 Java 코드와 Kotlin 코드이다. public class Lecture15 { public static void main(String[] args) { int[] array = {100, 200}; for (int i = 0; i < array.length; i++) { System.out.printf("%s %s", i, array[i]); } } } fun main() { val array = arr..
Study About Kotlin 8코틀린에서 배열과 컬렉션을 다루는 방법 Kotlin은 안드로이드 개발에 매우 인기있는 언어이며, 그 유용성은 백엔드 개발에도 확장된다. 오늘은 Kotlin 에서 배열과 컬렉션을 다루는 방법에 대해 알아보자. 배열 다루기 Kotlin에서 배열을 사용하는 방법은 Java와는 다소 다르다. 아래 순서대로 Java 코드와 Kotlin 코드이다. public class Lecture15 { public static void main(String[] args) { int[] array = {100, 200}; for (int i = 0; i < array.length; i++) { System.out.printf("%s %s", i, array[i]); } } } fun main() { val array = arr..
2024.03.28 -
코틀린에서 중첩 클래스를 다루는 방법 중첩 클래스의 종류 Java 기준으로 중첩 클래스의 종류로는 static을 사용하는 중첩 클래스, 내부클래스, 지역클래스, 익명클래스 등이 있다. static을 사용하는 클래스는 외부에서 직접적으로 참조하지 못하는 반면 내부 클래스는 밖에서 클래스를 직접 참조가 가능하다. 따라서 클래스 내의 클래스를 만들 때에는 static을 활용하는 것을 권장한다. public class JavaHouse { private String address; private LivingRoom livingRoom; public JavaHouse(String address) { this.address = address; this.livingRoom = new LivingRoom(10); } ..
Study About Kotlin 7코틀린에서 중첩 클래스를 다루는 방법 중첩 클래스의 종류 Java 기준으로 중첩 클래스의 종류로는 static을 사용하는 중첩 클래스, 내부클래스, 지역클래스, 익명클래스 등이 있다. static을 사용하는 클래스는 외부에서 직접적으로 참조하지 못하는 반면 내부 클래스는 밖에서 클래스를 직접 참조가 가능하다. 따라서 클래스 내의 클래스를 만들 때에는 static을 활용하는 것을 권장한다. public class JavaHouse { private String address; private LivingRoom livingRoom; public JavaHouse(String address) { this.address = address; this.livingRoom = new LivingRoom(10); } ..
2024.03.26 -
Kotlin에서의 접근 제어 Java에는 4종류의 접근 지시어가 있다. public : 모든 곳에서 접근 가능 protected : 같은 패키지 또는 하위 클래스에서만 접근 가능 default : 같은 패키지에서만 접근 가능 (기본값) private : 선언된 클래스 내에서만 접근 가능 Kotlin에도 4종류의 접근 지시어가 있다. public : 모든 곳에서 접근 가능 (기본값) protected : 선언된 클래스 또는 하위 클래스에서만 접근 가능 internal : 같은 모듈에서만 접근 가능 private : 선언된 클래스 내에서만 접근 가능 * Kotlin에선 패키지를 namespaces를 관리하기 위한 용도로만 사용하고 가시성 제어에는 사용 X * 모듈 : 한 번에 컴파일되는 Kotlin 코드 K..
Study About Kotlin 6Kotlin에서의 접근 제어 Java에는 4종류의 접근 지시어가 있다. public : 모든 곳에서 접근 가능 protected : 같은 패키지 또는 하위 클래스에서만 접근 가능 default : 같은 패키지에서만 접근 가능 (기본값) private : 선언된 클래스 내에서만 접근 가능 Kotlin에도 4종류의 접근 지시어가 있다. public : 모든 곳에서 접근 가능 (기본값) protected : 선언된 클래스 또는 하위 클래스에서만 접근 가능 internal : 같은 모듈에서만 접근 가능 private : 선언된 클래스 내에서만 접근 가능 * Kotlin에선 패키지를 namespaces를 관리하기 위한 용도로만 사용하고 가시성 제어에는 사용 X * 모듈 : 한 번에 컴파일되는 Kotlin 코드 K..
2024.03.09 -
Kotlin의 Class 1. Class와 Property class Person1 constructor(name: String, age: Int) { val name: String = name var age: Int = age } // 위의 Class는 아래 Class로 변경할 수 있다. class Person2( val name: String, var age: Int ) { } 2. 생성자와 init init 블록은 클래스가 초기화되는 시점에 한 번 호출되기에 클래스가 생성되는 시점에 무언갈 검증하고 싶을 때 init을 활용하면 된다. 또한 생성자를 추가하고 싶으면 constructor를 아래 추가한 뒤에 사용하면 된다. 하지만 부 생성자보다는 default parameter를 추천한다. class ..
Study About Kotlin 5Kotlin의 Class 1. Class와 Property class Person1 constructor(name: String, age: Int) { val name: String = name var age: Int = age } // 위의 Class는 아래 Class로 변경할 수 있다. class Person2( val name: String, var age: Int ) { } 2. 생성자와 init init 블록은 클래스가 초기화되는 시점에 한 번 호출되기에 클래스가 생성되는 시점에 무언갈 검증하고 싶을 때 init을 활용하면 된다. 또한 생성자를 추가하고 싶으면 constructor를 아래 추가한 뒤에 사용하면 된다. 하지만 부 생성자보다는 default parameter를 추천한다. class ..
2024.02.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