목표 Java의 타입 시스템에 대해 이해한다. Kotlin의 타입 시스템에 대해 이해한다. Java의 타입 시스템 Java에서는 데이터의 타입이 원시 타입과 Object Class를 상속하는 타입 두가지로 나뉜다. 원시 타입(Primitive Type) 값 그 자체가 Stack 메모리에 저장되어 접근속도가 빠르다. null을 담을 수 없다. Object Class를 상속하는 타입 Stack에는 참조값을 저장하고 실제 데이터는 Heap 메모리에 저장된다. Primitive type은 Object Class를 상속하지 않으며, 별도 타입으로 분류된다. 물론 Primitive Type의 박싱된 타입인 Boolean, Integer 등은 Object Class를 상속받는다. Primitive type 외의 모든..
Kotlin
목표 배열의 특징을 안다 배열을 조작하는 방법을 안다. 배열(Array) 정의 배열(Array)이란 하나의 변수에 여러 값을 저장하기 위해 연속된 메모리 공간을 차지하는 정적(Static)인 자료구조이다. 개요 배열은 여러 값을 저장하기 위해 메모리의 연속적인 공간을 차지하고 있다. 연속적인 공간 다음의 공간이 비어있을지는 알 수가 없으므로, 안정성을 위해 배열(Array)의 크기는 생성할 때 정해지며 배열의 크기를 늘리거나 줄일 수 없다. 우리는 이를 정적(Static)이라고 부른다. 예를 들어 아래의 코드를 실행할 시, 메모리에 그림1과 같이 올라간다. val stringArray: Array = arrayOf("a", "b", "c") val intArray: Array = arrayOf(1, 2,..
목표 ZonedDateTime이 날짜, 시간, 시간대로 이루어진 것을 이해한다. ZonedDateTime을 생성하고 조작하는 방법을 안다. 개요 앞서 LocalDate, LocalTime, LocalDate Class들에서 우리는 날짜(연, 월, 일)와 시간(시, 분, 초)을 다루는 방법을 살펴보았다. 하지만, 날짜(연, 월, 일)과 시간(시, 분, 초)만으로는 절대값을 갖는 시간이 완성되지 않는다. 그것은 바로 시간대 때문이다. UTC라 불리는 시간대로 인해 한국에서의 저녁 9시는 미국의 새벽 4시이다. 이러한 시간대가 있어야 비로소 절대값을 갖는 시간이 완성된다. ZonedDateTime Class는 바로 이러한 세가지 요소를 모두 포함하는 Class이다. ZoneDateTime은 그 자체로 절대값을..
LocalDateTime 만들기 직접 날짜, 시간 지정하여 만들기 val dateTime = LocalDateTime.of(2021, 1, 26, 19, 30, 20) LocalDate와 LocalTime을 조합하여 만들기 val date: LocalDate = LocalDate.of(2021, 1, 26) val time: LocalTime = LocalTime.of(19, 30, 20) /* LocalDate와 LocalTime을 이용하여 LocalDateTime 만들기 */ val dateTime: LocalDateTime = LocalDateTime.of(date, time) val dateTime1: LocalDateTime = date.atTime(time) val dateTime2: Loca..
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..