Kotlin/문법 19

Koltin - 날짜 시간 출력

LocalDateTime 현재 날짜/시간 가져오기 import java.time.LocalDate import java.time.LocalDateTime fun main(){ //현재 val dateAndTime: LocalDateTime = LocalDateTime.now() //2024-03-14T16:18:29.907092600 //날짜 val onlyDate : LocalDate = LocalDate.now() //2024-03-14 //특정 날짜 출력 val lastYear = LocalDate.of(2023,3,14) //2023-03-14 //시간도 마찬가지 //LocalDateTime.of(2023, 3, 14, 10, 10, 10) } DateTimeFormatter 이미 정의된 형식으로..

Kotlin/문법 2024.03.14

코루틴(Coroutine) ?

이론 처음 들었을 때는 Kotlin에서 만들고 사용되는 기술이라고 생각했었다. 하지만 1958년에 코루틴 용어가 만들어지고 어셈블리 프로그램에서 적용되었으며 다른 다양한 프로그래밍 언어에서 지원한다고한다. 찾아보면서 출력 시간 지연할 때 사용했었나 했지만 그건 스레드였다... 코루틴은 "실행의 지연과 재개를 허용함으로써, 비선점적 멀티태스킹을 위한 서브 루틴을 일반화한 컴퓨터 프로그램 구성요소" 라고 한다. 비선점적 ? 하나의 프로세스가 cpu를 할당받으면 종료되기 전까지 다른 프로레스를 강제로 차지할 수 없다. 루틴 ? 프로그래밍에서 루틴은 프로그램의 흐름을 추상적으로 일컫는 말이다. 프로그램은 메인 루틴과 서브 루틴으로 나뉜다. 예를 들어 main함수에 의해 수행되는 프로그램의 흐름을 메인 루틴이라고..

Kotlin/문법 2024.03.13

Kotlin - Pair, Triple

함수는 1개의 객체를 리턴한다. 과제를 진행하다가 2개 이상 리턴은 불가능한가 찾아보다가 알게되었다. Pair의 경우 2개의 값을 리턴하고 Triple의 경우 3개의 객체를 리턴할 수 있다. Pair 사용법 val pair1 = Pair("Hello", "World") val pair2 = Pair("Hello", 1234) val pair1 = Pair("hi", "hello") val pair2 = Pair("hi", 1234) val pair = Pair("hi", 1) System.out.println(pair.first) // hi System.out.println(pair.second) // 1 open fun select(): Pair { val pair = Pair("hi", 1) retu..

Kotlin/문법 2024.03.13

Scope Functions (영역함수)

fun main() { //run Student().run { number = "1234" name = "run1" printInfo() //1234 run1 } val res = Student().run { number = "4567" name = "run2" "$number $name" } println(res) //4567 run2 //let // it을 거쳐서 프로퍼티를 호출할 수 있다. Student().let { it.number = "012" it.name = "let" it.printInfo() //012 let } //with // run과 유사하게 it을 거치지 않고 바로 변수를 호출할 수 있다. // 그러나 with함수의 인자로 클래스 객체를 받는다. with(Student()){ n..

Kotlin/문법 2024.03.07

Kotlin - 정규식

정규식 ? 정규 표현식을 줄여서 말한다. 특정한 규칙을 가진 문자열의 집합을 표한하는 데 사용하는 형식 언어 왜 알아야할까 ? 이미지 출처 이메일 검증 정규식이다.. 유효한 이메일 주소인지 비밀번호 규칙에 맞는지 사용된다. 이메일 확인 정규식 설명 - https://devwooks.tistory.com/64 문법 ^ : 문자열의 시작을 의미. $ : 문자열의 끝을 의미. . : 문자 한 개를 의미. '.'이 위치한 곳에 어떤 문자든지 1개의 문자가 들어감. [ ] : 대괄호에 있는 문자 중 한 개를 의미. [abc]는 a, b, c 중 하나를 선택. [^] : not의 의미로, 대괄호에서 쓴다면 [^abc] : a, b, c 제외하고 나머지를 의미. | : or을 의미. a|b : a 또는 b. () :..

Kotlin/문법 2024.02.16

Kotlin - Scope Functions( let, run, with, apply, also )

Scope Functions context 내에서 코드 블록을 실행하는 것이 유일한 목적인 함수가 kotlin 표준 라이브러리에 포함되어있다. 객체에서 이 람다 함수를 호출하면 해당 함수는 일시적인 scope를 생성하고, 해당 scope 안에서는 객체의 이름 없이도 접근이 가능하다. apply 객체를 설정하는 상황에서 사용된다. 객체 자신을 다시 반환하기 때문에 특정 객체의 프로퍼티를 설정 후 바로 사용하기 쉽다. also 객체의 속성을 전혀 사용하지 않거나 이를 변경하지 않으면서 사용하는 경우에 사용한다. 객체의 유효성 검사에서 대표적으로 쓰인다. let call chain의 결과에서 1개 혹은 그 이상의 함수를 호출하는 데 사용할 수 있다. 수신 객체가 null이 아닐때만 코드를 실행해야 할 경우 사..

Kotlin/문법 2024.02.14