
์ด๋ฒ ํ์ต์์๋ Java์ ๋ ์ง์ ์๊ฐ ์ฒ๋ฆฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ(java.time)์ ์ค์ฒฉ ํด๋์ค ํ์ฉ์ ๋ํด ๋ค๋ฃจ์๋ค. ๋ ์ง์ ์๊ฐ ๊ณ์ฐ์ ๋ณต์ก์ฑ์ ์ดํดํ๊ณ , ์ค์ง์ ์ธ ์ฝ๋ ์์ฑ๋ฒ์ ์ฐ์ตํ์๋ค. ํนํ LocalDateTime, ZonedDateTime, OffsetDateTime๊ณผ ๊ฐ์ ์ฃผ์ ํด๋์ค๋ฅผ ์ค์ฌ์ผ๋ก ํ์ตํ์์ผ๋ฉฐ, ์ ์ ์ค์ฒฉ ํด๋์ค์ ๋ด๋ถ ํด๋์ค์ ์ฐจ์ด์ ํ์ฉ๋ฒ๋ ์ ๋ฆฌํ์๋ค.
1. ๋ ์ง์ ์๊ฐ ์ฒ๋ฆฌ์ ํ์์ฑ
๋ ์ง์ ์๊ฐ ๊ณ์ฐ์ ๋ณต์ก์ฑ
• ๋ ์ง ๊ฐ ์ฐจ์ด ๊ณ์ฐ ์ ์ค๋ , ๊ฐ ์์ ์ผ์๋ฅผ ๊ณ ๋ คํด์ผ ํจ.
• ์ผ๊ด ์ ์ฝ ์๊ฐ(DST)๊ณผ ํ์์กด(Time Zone) ๋ณํ์ ์ด๋ ค์.
• ๋ค์ํ ํ์์ผ๋ก ๋ ์ง์ ์๊ฐ์ ํํํด์ผ ํ๋ ๊ฒฝ์ฐ ๋ง์.
2. Java ๋ ์ง์ ์๊ฐ ์ฒ๋ฆฌ (java.time)
์ฃผ์ ํด๋์ค์ ํ์ฉ๋ฒ
LocalDate
• ๋ ์ง๋ง ๋ค๋ฃฐ ๋ ์ฌ์ฉ. (์: 2025-01-01)
• ์์ฑ ๋ฐฉ๋ฒ: LocalDate.now(), LocalDate.of(๋ , ์, ์ผ)
• ๊ณ์ฐ: plusDays(), minusMonths() ๋ฑ์ผ๋ก ๋ ์ง ์ฐ์ฐ ๊ฐ๋ฅ.
LocalDate today = LocalDate.now();
LocalDate specificDate = LocalDate.of(2025, 1, 1);
LocalDate tenDaysLater = specificDate.plusDays(10);
LocalTime
• ์๊ฐ๋ง ๋ค๋ฃฐ ๋ ์ฌ์ฉ. (์: 14:30:00)
• ์์ฑ ๋ฐฉ๋ฒ: LocalTime.now(), LocalTime.of(์, ๋ถ, ์ด)
LocalDateTime
• ๋ ์ง์ ์๊ฐ์ ํจ๊ป ๋ค๋ฃฐ ๋ ์ฌ์ฉ. (์: 2025-01-01T14:30:00)
• LocalDate์ LocalTime์ ํฉ์ณ ์์ฑ ๊ฐ๋ฅ.
• ๋ ์ง์ ์๊ฐ ๋ถ๋ฆฌ: toLocalDate(), toLocalTime()
ZonedDateTime
• ํ์์กด์ด ํฌํจ๋ ๋ ์ง์ ์๊ฐ์ ๋ค๋ฃฐ ๋ ์ฌ์ฉ.
• ZoneId์ ํจ๊ป ์์ฑ ๊ฐ๋ฅ.
• ํ์์กด ๋ณํ: withZoneSameInstant(ZoneId)
OffsetDateTime
• UTC ์คํ์ ๋ง ํฌํจ๋ ๋ ์ง์ ์๊ฐ ํํ.
• ํ์์กด ์ ๋ณด๋ ์์ง๋ง UTC ๊ธฐ์ค ๋ณํ์ ์ ์ฉ.
3. ์ค์ฒฉ ํด๋์ค์ ๋ด๋ถ ํด๋์ค
์ค์ฒฉ ํด๋์ค๋?
• ํด๋์ค ๋ด๋ถ์ ๋ ๋ค๋ฅธ ํด๋์ค๋ฅผ ์ ์ํ๋ ๊ตฌ์กฐ.
• ํฌ๊ฒ ์ ์ ์ค์ฒฉ ํด๋์ค์ ๋ด๋ถ ํด๋์ค๋ก ๋๋จ.
์ ์ ์ค์ฒฉ ํด๋์ค (Static Nested Class)
• static ํค์๋ ์ฌ์ฉ.
• ๋ฐ๊นฅ ํด๋์ค์ ์ธ์คํด์ค์ ์ข ์๋์ง ์์.
• ์ฌ์ฉ ์์:
class Outer {
static class StaticNested {
void display() {
System.out.println("์ ์ ์ค์ฒฉ ํด๋์ค");
}
}
}
Outer.StaticNested nested = new Outer.StaticNested();
nested.display();
๋ด๋ถ ํด๋์ค (Inner Class)
• static์ด ๋ถ์ง ์์.
• ๋ฐ๊นฅ ํด๋์ค์ ์ธ์คํด์ค์ ์ฐ๊ด.
• ๋ฐ๊นฅ ํด๋์ค์ ๋ฉค๋ฒ ๋ณ์์ ๋ฉ์๋์ ์ ๊ทผ ๊ฐ๋ฅ.
class Outer {
class Inner {
void display() {
System.out.println("๋ด๋ถ ํด๋์ค");
}
}
}
Outer outer = new Outer();
Outer.Inner inner = outer.new Inner();
inner.display();
• Java์ java.time ํจํค์ง๋ ๋ ์ง์ ์๊ฐ ์ฒ๋ฆฌ๋ฅผ ๊ฐ๊ฒฐํ๊ณ ์ง๊ด์ ์ผ๋ก ๋ง๋ค์ด ์ค๋ค.
• ์ค์ฒฉ ํด๋์ค๋ ์ฝ๋์ ์บก์ํ์ ๋ ผ๋ฆฌ์ ๊ทธ๋ฃนํ๋ฅผ ์ํด ์ ์ฉํ๋ค.
• ์ ์ ์ค์ฒฉ ํด๋์ค๋ ๋ฐ๊นฅ ํด๋์ค์ ๋ ๋ฆฝ์ ์ผ๋ก ๋์ํ๋ฉฐ, ๋ด๋ถ ํด๋์ค๋ ๋ฐ๊นฅ ํด๋์ค์ ๋ฐ์ ํ ๊ด๊ณ๋ฅผ ๊ฐ์ง๋ค.