본문 바로가기

Java

(2)
Java/Kotlin에서 Instant와 LocalDateTime 사용 시 주의점 개요Java 8부터 도입된 java.time 패키지는 날짜와 시간을 다룰 때 직관적이고 안전한 방법을 제공한다.이 중 Instant와 LocalDateTime은 자주 사용되는 클래스이지만, 특성을 잘 알고 사용하지 않으면 사용 중에 예상치 못한 문제가 발생할 수 있다.Instant와 LocalDateTime의 정의Instant: 특정 시점(타임스탬프)을 나타내는 클래스이다. UTC(협정 세계시) 기준의 시간을 밀리초 혹은 나노초 단위로 저장하며, 전 세계에서 동일한 기준 시간을 유지하는 데 적합하다. Instant는 시간대 정보를 포함하지 않으며, UTC 기준으로 동작한다.LocalDateTime: 특정 시간대를 고려하지 않은 날짜 및 시간을 나타내는 클래스이다. 즉, 시간대 정보 없이 연-월-일 시-분..
Java에서 데이터 중심 프로그래밍을 지원하는 기능들 Java에서는 최근에 데이터 중심 프로그래밍(Data-Oriented Programming, DOP)을 지원하는 기능들이 도입됐다. 특히 Java 17 이후 이러한 기능들이 더욱 강화되면서 데이터를 보다 직관적이고 효율적으로 다룰 수 있게 되었다. Java에서 지원하는 4가지 주요 DOP 기능(Sealed Types, Records, Pattern Matching, Smart Switch Expressions)을 소개하고, 각각의 기능이 어떻게 활용될 수 있는지 예시와 함께 알아보려고 한다.1. Sealed Types (봉인된 타입)Sealed Types는 클래스 계층 구조를 제어할 수 있게 해주는 기능이다. 어떤 클래스가 특정 클래스나 인터페이스를 확장할 수 있는지를 명시적으로 제한한다. 이를 통해 상..