Kotlin

    Kotlin LocalTime Class를 이용해서 시간(시, 분, 초) 다루기

    1. LocalTime 만들기 객체 생성 정적 메서드를 이용하여 LocalTime 인스턴스를 만든다. /* 직접 지정하여 만들기 */ val time: LocalTime = LocalTime.of(19, 30, 20) /* String을 LocalTime으로 만들기 */ val timeParse: LocalTime = LocalTime.parse("19:30:20") /* 현재 시간을 LocalTime으로 만들기 */ val timeNow: LocalTime = LocalTime.now() 2. LocalTime에서 값 읽기 LocalTime는 시간 값을 읽는 여러 메서드를 제공한다. LocalTime에서 직접 변수에 접근하여 읽는 방법 TemporalField를 이용하여 읽는 방법 val time: L..

    Kotlin LocalDate Class를 이용하여 날짜(연, 월, 일) 다루기

    1. LocalDate 만들기 객체 생성 정적 메서드를 이용하여 LocalDate 인스턴스를 만든다. 아래는 가장 많이 쓰이는 4가지 유형을 소개한다. /* 직접 지정하여 만들기 */ val date = LocalDate.of(2021, 1, 26) /* String을 LocalDate로 만들기 */ val dateParse = LocalDate.parse("2020-01-26") /* DateFormatter을 지정하여 String을 LocalDate로 만들기 */ val dateParseWithFormatter = LocalDate.parse("2021-01-26", DateTimeFormatter.ISO_DATE) /* 현재 시간을 LocalDate로 만들기 */ val dateNow = Local..

    [Kotlin] 날짜, 시간 제대로 다루기

    목표 time 패키지를 이용해 날짜, 시간을 제대로 다루는 방법을 안다. Temporal 객체가 무엇인지 이해한다. 개요 기존 Date 클래스와 Calendar 클래스는 날짜와 Timezone 관련되어 개발자를 헷갈리게 하는 부분이 많았습니다. 이에 대한 대체제로 Temporal Interface를 구현하는 LocalDateTime, LocalDate, LocalTime가 java 1.8에서 등장하였습니다. * 아래에서는 LocalDateTime, LocalDate, LocalTime을 통틀어 Temporal 객체라 부르도록 하겠습니다. 클래스명 설명 LocalDate 날짜를 표현하는 불변 객체 LocalTime 시간을 표현하는 불변 객체 LocalDateTime 날짜와 시간을 표현하는 불변 객체 *불변..

    [알고리즘] Intellij에서 Kotlin 코드를 돌리는 두가지 방법 : Class, Scratch

    개요 코딩 테스트에서는 코틀린을 선택할 때 가장 대표적으로 아래 두가지 형태로 정답을 작성하도록 합니다. Solution Class 안에 solution function이 있는 형태 class Solution { fun solution(string: String): String { return string } } solution function만 있는 형태 fun solution(string: String): String { return string } 이런 두 경우 Intellij에서 코딩 테스트를 풀기위한 환경을 어떻게 세팅하는지 살펴봅시다. 기초 지식 먼저 코틀린 내부에서는 하나의 파일 안에 여러개의 클래스(class)와 함수(fun)가 최상위 계층에 작성될 수 있다는 것을 알아야 합니다. 이것이 ..

    [Heap] JVM의 String과 String Pool(String Constant Pool) 알아보기 : String Pool은 어떻게 String을 최적화 하는가? - Kotlin 예제 포함

    목표 String이 Heap 메모리 상에서 어떻게 저장되는지 확인한다. 개요 JVM에서 변수를 저장하게 선언하면 해당 변수는 Heap Area에 저장된다(그림1 참조). String도 Heap Area에 저장되는 것은 마찬가지인데 String은 많이 쓰이는 변수인 만큼 조금 특이한 방식으로 저장된다. *이것에 익숙하지 않다면 먼저 JVM의 메모리 사용 방식을 보고 오자 String은 우리가 가장 많이 쓰는 클래스 중 하나이다. String을 효율적으로 사용하기 위해 JVM상에서 String을 다른 객체들과 차별되게 저장되도록 해놓았는데, 그것이 바로 Heap Area 상의 String Constant Pool이다. 예를 들어 다음과 같은 코드가 실행된다고 해보자 val stringA1 = "A" val ..