CH10-1~3 날짜와 시간
[자바의 정석 - 기초편] ch10-1~3 날짜와시간, Calendar클래스
날짜와 시간,캘린더 클래스에 대해 알아보자.
java.util.Date라는 클래스가 있다. 자바가 처음 만들어진 JDK1.0때부터 내려온 유서깊은 클래스임
그래서 대부분 메서드가 deprecated지만… 여전히 사용중인 메서드가 많다.
Date클래스를 개선한게 Calendar클래스이다. JDK1.1버전에 추가됨. 그럼에도 단점이 많았어서… JDK1.8때 java.time패키지를 만들었다. 기존의 Date와 Calendar를 개선한 클래스를 포함시킴
기존에는 날짜와 시간을 반드시 함께 다뤘어야 하는데… time패키지부터는 LocalTime(시간만 다룰때), LocalDate(날짜만 다룰때) LocalDateTime(날짜와 시간을 함께 다룰때) 등등 다양한 방식의 클래스를 제공하고 있다. 가능하면 time패키지를 쓰는게 낫지만… 실무에서는 Calendar쓰는 곳이 많다. 자바 1.8이 나온지 6년이 되었는데, 아직도 1.8안쓰는 곳도 있다.
JDK1.8을 자바 8이라고 함. 지금 강의만드는 3년전만해도 java14까지 나왔다…
자바 핵심개념배우는데는 JDK1.8만 써도 충분하다.
자바에서 날짜와 시간은 문자열만큼이나 중요한 타입이다. 날짜와 시간을 어떻게 다루는지에 대한 감은 Claendar클래스만 잘 익혀도 된다. 나중에 필요할때 time패키지를 보며 직접 봐도 된다.
Calendar클래스에 대해 배워보자. 이 친구는 추상 클래스이다.
캘린더 종류에는 서양력, 불교력, 일본력 등등이 있다…
추상클래스는 getInstance()를 이용해 생성되어야 함.
왜 이렇게 추상클래스로 만들었는가? 위에서 말했듯이… 캘린더 종류가 많기 때문에 필요한 캘린더 종류로 Clanedar클래스를 완성시키고 getInstance()를 사용하게끔 설계되었음. 즉 추상화 적용