본문 바로가기

코틀린7

kotlin in action 03 (3.5~3.7) 3.5 문자열과 정규식 다루기 코틀린의 문자열은 자바의 문자열과 같다 코틀린 코드의 문자열을 자바 메서드에, 자바 문자열을 코틀린 표준 라이브러리 메서드에 넘겨도 호환 3.5.1 문자열 나누기 split 메서드 자바에서는 String.split(".") 문자열을 메서드에 받음 코틀린에서는 정규식(Regex) 값을 받음 자바와 달리 코틀린은 확장 함수로 여러 개의 문자열을 받을 수 있다. fun main() { println("12.345-6.A".split("\\.|-".toRegex())) println("12.345-6.A".split(".","-")) //delimeters multiple } >>>>>>>>>>> [12, 345, 6, A] [12, 345, 6, A] 3.5.2 정규식과 3중 따.. 2022. 3. 1.
kotlin in action 03 (3.4) 3.4 컬렉션 처리: 가변 길이인자, 중위 함수 호출, 라이브러리 지원 컬렉션 처리시 코틀린의 특성 vararg 키워드를 사용하면 호출 시 인자 개수가 달라질 수 있는 함수를 정의할 수 있다. 중위(infix)함수 호출 구문을 사용하면 인자가 하나뿐인 메소드를 간편하게 호출할 수 있다. 구조 분해 선언 (destructuring declaration)을 사용하면 복합적인 값을 분해해서 여러변수에 담을 수 있다. 3.4.1 자바 컬렉션 API확장 코틀린은 확장함수로 자바 컬렉션 API를 확장한다 코틀린 표준 라이브러리에는 수 많은 확장함수를 이미 가지고 있다 3.4.2 가변 인자 함수 : 인자의 개수가 달라질 수 있는 함수 정의 가변길이 인자 메소드를 호출할 때 원하는 개수만큼 값을 인자로 넘기면 자바 컴.. 2022. 2. 28.
kotlin in action 03 (3.3) 3.3 메소드를 다른 클래스에 추가: 확장 함수와 확장 프로퍼티 - 확장함수 package strings // 문자열의 마지막 문자 반환 // 추가하려는 함수이름 앞에 확장하고자 하는 클래스(수신객체타입)의 이름을 붙이면 된다 //fun String.lastChar(): Char = this.get(this.length-1) fun String.lastChar(): Char = get(length-1) //this 생략 가능 -------------------- // 수신객체 타입 : String // 수신객체 : "kotlin" fun main() { println("kotlin".lastChar()) } >>>>>>>>>>>> n 확장함수 기존 자바 코드와 코틀린 코드를 자연스럽게 통합을 목표로 한다.. 2022. 2. 16.
kotlin in action 03 (3.1 ~ 3.2) 3장 함수 정의와 호출 3.1 코틀린에서 컬렉션 만들기 fun main(args: Array) { val set = hashSetOf(1,7,53) val list = arrayListOf(1,7,53) val map = hashMapOf(1 to "one", 7 to "seven", 51 to "fifty-three") val stringList = listOf("one", "fifty-three", "seven") // 각 컬렉션 객체가 속한 클래스 // instance.javaClass getClass() 메소드와 같다 println(set.javaClass) println(list.javaClass) println(map.javaClass) //코틀린의 추가기능 //integer list,set .. 2022. 2. 15.
kotlin in action 02 2장 코틀린 기초 2.1 기본요소 - 함수 반환값이 없는 경우와 함수의 기본 fun main(args: Array, i: Int) { println("Hello, world!!!") } >>> Hello, world!!! // 일반적인 함수본문 fun main() { println(max(1,2)) } fun max(a: Int, b: Int): Int { return if (a > b) a else b } >>> 2 // 식을 함수본문으로 변환사용 한경우 fun main() { println(max(1,2)) } fun max(a: Int, b: Int): Int = if (a > b) a else b >>> 2 // 반환 타입 생략 fun main() { println(max(1,2)) } fun m.. 2022. 1. 24.
kotlin in action 01 1. 코틀린이란 무엇이며 왜 필요한가? 코틀린이란? java 플랫폼에서 돌아가는 언어 간결, 실용, java와 상호운용성 (interoperability) 중시 -> 생산성과 안전한 대체언어 제공 목적 정적 타입언어 (단, 컴파일러가 타입추론을 지원하기 때문에 타입을 직접명시하지 않아도 작동한다) null type 지원함으로 컴파일시점에 null pointer exception 검사가능 functional programming 지원 간결성, 다중 스레드에도 안전, 테스트쉬움 코틀린으로 만들 수 있는 것들 안드로이드 서버 html 빌더도 지원 exposed : 코틀린 orm IOS 라즈베리 파이 etc… 코틀린의 철학 실용성 이미 알고있는 자바 프로그래밍 스타일,개념이 사용가능하다 이미 성공적으로 검증된 .. 2022. 1. 2.
Kotlin in Action 현재 php, python 으로 개발자 생활을 하고 있는데 사내 개발 언어 전환이 시작되면서 공부하게 된 책 다 익히고 나면 한단계 더 성장하리라 2021. 12. 25.