본문 바로가기

JAVA/혼공자

[혼공자] Chapter 11-2 java.util 패키지

java.util 패키지는 자료구조(컬랙션 프레임워크)와 날짜 정보를 제공하는 클래스를 포함하고 있다. 
이번 절에서는 날짜 정보를 제공하는 API를 알아보자.

❗Date와 Calendar은 현재 여러 문제들 때문에 잘 사용하지 않는다고 한다❗
대신 LocalDate, LocalTime, LocalDateTime을 사용한다.

https://madplay.github.io/post/reasons-why-javas-date-and-calendar-was-bad
https://madplay.github.io/post/java8-date-and-time
https://sujl95.tistory.com/3

 

[Java] Date, Calendar클래스가 왜 Deprecated됐는지?

Java 에서 Date클래스와 Calendar 클래스가 왜 Deprecated 됐는지? 앞 전 포스팅으로 이어서 포스팅하겠습니다. 2020/11/02 - [Java/개념] - Java Date와 Calendar 클래스 국제화와 잘 맞지 않는다 java.util.Date..

sujl95.tistory.com

더보기

▶ Date 클래스
객체 간에 날짜 정보를 주고 받을 때 매개변수나 리턴타입으로 주로 사용된다.
Date 객체의 toString( ) 메소드는 영문으로 된 날짜를 리턴하기 때문에 원하는 날짜 형식의 문자열을 얻고 싶다면 java.text 패키지의 SimpleDateFormat 클래스를 함께 사용하는 것이 좋다. 먼저 SimpleDateFormat 생성자의 매개값으로 형식 문자열을 전달한 다음, SimpleDateFormat 객체 + 도트 + format(Date객체)로 출력하면 원하는 형식의 날짜가 나온다.
cf. SimpleDateFormat의 생성자에 전달할 문자열의 형식은 API문서에 자세이 나와있음!

 Calendar 클래스
Calendar는 추상 클래스이므로 new 생성자로 객체를 생성할 수 없다. 따라서 Calendar클래스의 정적 메소드인 getInstance( ) 메소드를 이용해 현재 운영체제에 설정된 시간대를 기준으로 한 Calendar의 하위 객체를 얻어야 한다. Calendar의 하위 객체를 만들었으면 get( ) 메소드로 날짜와 시간에 대한 정보를 얻을 수 있다.

(복습) 추상클래스 : 미완성된 설계도(이름 통일&규격 제시), 추상메소드를 포함하고 있고, 상속을 통한 오버라이딩을 강제함
정적 메소드 : 객체 생성 없이 클래스 이름으로 메소드를 호출할 수 있음