📘 Backend/Kotlin2023. 4. 30. 13:57File Class

💡 File Class 코틀린에서 File 클래스는 파일과 디렉토리를 다루는 데 사용됩니다. 클래스를 사용하려면 java.io 패키지를 임포트해야 합니다. 아래는 File 클래스에서 사용 가능한 주요 메서드와 예시 코드입니다. 생성자 File(path: String): 지정된 경로를 가진 파일이나 디렉토리를 나타내는 File 객체를 생성합니다. File(parent: String, child: String): 지정된 부모 경로와 자식 경로를 가진 파일이나 디렉토리를 나타내는 File 객체를 생성합니다. // 파일 경로를 가지고 File 객체 생성 val file1 = File("file.txt") // 부모 경로와 자식 경로를 가지고 File 객체 생성 val parentDir = "C:/parent" ..

📘 Backend/Kotlin2023. 4. 30. 05:03File을 다루는 Class들

💡 File I/O 코틀린에서 파일 입출력을 다루는 데에 필요한 기본적인 클래스들입니다. File 클래스 파일을 다루는 데 필요한 메서드를 제공합니다. 생성, 삭제, 이름 변경, 크기 확인 등의 작업을 할 수 있습니다. File 클래스는 java.io.File 클래스를 코틀린에서 사용하기 위한 래퍼 클래스입니다. val file = File("파일 경로") FileInputStream 클래스 파일을 바이트 단위로 읽기 위한 클래스입니다. read() 메서드를 사용하여 파일 내용을 읽어들일 수 있습니다. val inputStream = FileInputStream("파일 경로") val data = inputStream.read() FileOutputStream 클래스 파일을 바이트 단위로 쓰기 위한 클래..

📘 Backend/Kotlin2023. 4. 30. 04:13Kotlin - Other Features

💡 코틀린 - 그 외 다양한 기능들 목차 Type Alias & as import 구조분해와 componentN 함수 Jump & Label TakeIf & TakeUnless Type Alias & as import 긴 이름의 클래스 & 함수 타입이 있을때 축약하거나 더 좋은 이름을 쓰고 싶을 때 사용한다. type alias : 타입이나 클래스 이름에 별칭을 붙여 줄여서 사용 가능하다. as import : 어떤 클래스나 함수를 import 할 때 이름을 바꾸는 기능이다. 이 함수에서 파라미터로 받는 filter 부분이 길다고 느껴질 수 있다. 그리고 filter 함수의 파라미터가 많아진다면 더 길 것이다. fun filterFruits(fruits: List, filter: (Fruit) -> Bo..

📘 Backend/Kotlin2023. 4. 30. 02:07Kotlin - Stream

💡 코틀린에서 컬렉션을 함수형으로 다루는 법 목차 Filter & Map 다양한 컬렉션 처리 기능 List To Map 중첩된 컬렉션 처리 Filter & Map 컬렉션에 .filter를 붙여서 다양한 조건 처리를 할 수 있다. 만약 인덱스 처리가 필요하다면 .filterIndexed를 사용한다. data calss Fruit( val id: Long, val name: String, val factoryPrice: Long, val currentPrice: Long ) filter를 통해 조건처리를 하고 map을 하여 데이터를 가공 & 변형한다. 맵에서 인덱스가 필요하다면 .mapIndexed를 사용한다. val applePrices = fruits.filter { fruit -> fruit.name ..

📘 Backend/Kotlin2023. 4. 29. 00:10Kotlin - Lambda

💡 코틀린에서 람다를 다루는 법 목차 Java에서 람다를 다루기 위한 노력 Kotlin에서의 Lambda Closure Try-With-Resources 정 Java에서 람다를 다루기 위한 노력 과일 가게에서 특정 과일만 요구하는 코드 예시 만약 다른 종류의 과일을 같이 요구할때, 가격을 필터링 해야할때, 아래의 코드는 매우 비효율적인 코드이다. 파라미터를 늘리는 것도 좋지만 람다를 이용하는게 훨씬 깔끔하고 좋다. public calss Fruit { private final String name; private final int price; public Fruit(String name, int price) { this.name = name; this.price = price; } public Strin..

📘 Backend/Kotlin2023. 4. 27. 21:47Kotlin - More Functions

💡 코틀린에서 다양한 함수를 다루는 법 목차 확장 함수 infix 함수 (중위함수) inline 함수 지역 함수 정리 확장 함수 확장함수 블로깅 해 놓은 글 링크 멤버함수와 확장함수의 시그니처가 같다면 멤버함수가 우선적으로 호출된다. 자바에서 코틀린의 확장함수를 사용할때는 정적멤버를 다루듯이 사용하면 된다. this를 이용해 실제 클래스 안의 값에 접근한다. 만약 확작함수가 public이고 확장함수의 수신객체의 private 함수를 가져오면 캡슐화가 깨질까? 답은 애초에 그걸 방지하기 위해 확장함수는 private 또는 protected 멤버를 가져올 수 없다. fun main() { val str = "ABC" str.lastChar() } fun String.lastChar(): Char { retu..

📘 Backend/Kotlin2023. 4. 23. 20:18Kotlin - Array & Collections

💡 코틀린에서 배열과 컬렉션을 다루는 법 목차 Array Collection - List, Set, Map Null 가능성, Java와 함께 사용 정리 💡 Array 코틀린엑서 배열을 잘 쓸일이 없지만 그래도 자바와 차이점을 설명한다. for loop를 쓸때 indices 키워드를 사용하여 0 부터 index 까지의 Range를 나타낼 수 있다. 또 다른 방법은 withIndex()를 사용하면, 인덱스와 값을 한번에 가져올 수 있다. 자바 예시 코드 int[] array = {100, 200}; for (int i=0; i

image