본문 바로가기
728x90

Backend/Java16

[Java] (2) 시간, 날짜 관련 API(LocalTime, LocalDate, LocalDateTime) (2) 시간, 날짜 관련 API(LocalTime, LocalDate, LocalDateTime) 1. 시간, 날짜 관련 클래스 1-1. LocalTime 시간 정보만을 나타내는 클래스로 시(hour), 분(minute), 초(second), 나노초(nanoOfSecond)를 포함하며 시간 오프셋(TImeZone)에 대한 정보는 없습니다. 시간 관련 클래스 시간 오프셋(TimeZone)에 대한 정보는 없다. 시(hour), 분(minute), 초(second), 나노초(nanoOfSecond)의 값을 갖는다 ex) 19:35:25.830054400 1-2. LocalDate 날짜 정보만을 나타내는 클래스로 연(year), 달(month), 날(dayOfMonth)의 포함하며, 특정 시간대나 시간 오프셋(.. 2023. 8. 20.
[Java] (1) 시간, 날짜 관련 API(LocalTime, LocalDate, LocalDateTime) (1) 날짜, 시간 관련 API (LocalTime, LocalDate, LocalDateTime) 기존에 사용했던 Date, Calendar 클래스들은 결과가 직관적이지 않고, 달(Month)의 인덱스가 0부터 시작한다는 점과 스레드에 안전하지 않는 등 많은 문제점들이 있었습니다. 이를 보완하기 위해 자바 8 버전에서 추가된 날짜, 시간 관련 클래스인 LocalTime, LocalDate, LocalDateTime API를 지원합니다. 1. 날짜, 시간 관련 정적 팩토리 메서드 1-1. LocalTime now() 현재 시스템 시계에서 현재 시간을 LocalTime 객체를 생성합니다. LocalTime localTime1 = LocalTime.now(); // 01:53:44.770 of(int hou.. 2023. 8. 19.
[Java] 자바 8 - 올바른 Optional 사용법 올바른 Optional 사용법 실무에서 Optional을 사용하면서 정말 좋은 유틸 클래스라고 생각했습니다. Optional로 반환하면서 값이 있을 때와 값이 없을 때의 분기처리를 해줘야 하는 것을 알 수 있기 때문에 NullPointerException과 같은 예외를 방지할 수 있게 됩니다. 실제로 실무에서 Optional을 많이 사용하였는데 가끔 '여기서 굳이 Optional을 사용해야 하나?'라는 상황들이 생겼고, 오히려 코드의 가독성이 저하되는 문제들을 발견하게 되어 불필요한 Optional 사용을 줄이고, 올바른 Optional을 사용하기 위해 포스팅하게 되었습니다. 참고 - 26 Reasons Why Using Optional Correctly Is Not Optional - DZone 1. .. 2023. 8. 13.
[Java] 자바 8 - Optional 사용법 자바 8 - (1) Optional 사용법 Optional은 null이 될 수 있는 값을 명확하고 안전하게 처리하기 위해 자바 8 부터 도입된 Wrapper 클래스입니다. 기존 자바에서는 값이 없는 경우에 null을 반환하는 경우가 많았는데 제대로 null 체크를 해주지 않게 되면 NullPointerException이 발생하는 문제가 빈번히 발생하게 되었습니다. Optional은 이러한 문제를 해결하기 위해 도입된 클래스로 값이 있는 경우에는 해당 값을 감싼 Optional이 반환되고, 값이 없는 경우에는 Optional.empty() 라는 특별한 빈 Optional 객체를 반환합니다. 또한 Optional은 다양한 메서드들을 지원하므로 널 체크를 더욱 간결하고 명확하게 처리하고, 예외 상황을 더욱 세.. 2023. 7. 31.
728x90