Java49 Java 중급 1 - 중첩클래스, 내부 클래스(2) 1. 내부 클래스자바에서는 클래스 안에 또 다른 클래스를 선언할 수 있다.이러한 클래스들을 중첩 클래스(Nested Class) 라고 부른다.그 중에서도 static 키워드 없이 선언된 클래스는 내부 클래스(Inner Class) 라고 부른다.내부 클래스는 바깥 클래스의 인스턴스에 소속되며, 바깥 클래스의 모든 멤버(필드, 메서드) 에 접근 가능하다.2. 내부 클래스 사용 이유캡슐화외부에서 사용할 필요가 없는 클래스는 감춰야한다.클래스 설계의 기본 원칙 중 하나는 정보 은닉(information hiding) 이다.즉, 외부에서 직접 접근할 필요가 없는 구현 세부사항은 가능한 한 감춰야 한다. 내부 클래스는 외부에 공개되지 않고, 바깥 클래스 내부에서만 쓰이도록 설계할 수 있기 때문에불필요한 클래스를 외.. 2025. 4. 13. Java 중급 1 - 중첩클래스, 내부 클래스(1) 클래스 안에 클래스를 정의하는 구조보통 특정 클래스 내부에서만 사용하는 클래스가 있을 때 사용class Outer { class Inner { ... }} 분류클래스 이름키워드바깥 인스턴스와 관계정적 중첩 클래스Static Nested Classstatic 있음❌ 관계 없음내부 클래스Inner Classstatic 없음✅ 인스턴스에 소속지역 클래스Local Class메서드 안✅익명 클래스Anonymous Class이름 없음✅ (Local 확장)실무실무에서는 중첩, 내부라는 단어를 명확하게 구분 x중첩클래스 또는 내부 클래스라고 이야기한다. 클래스 안에 클래스가 있는것을 중첩 클래스라고 하고, 내부클래스도 중첩 클래스의 한 종류이므로 이 둘을 명확히 구분하지 않는다.사용 이유논리적 .. 2025. 4. 12. Java 중급 1 - 날짜와 시간(3) 날짜와 시간 조회 및 조작 1package practice.time;import java.time.LocalDateTime;import java.time.temporal.ChronoField;public class GetTimeMain { public static void main(String[] args) { LocalDateTime dt = LocalDateTime.of(2025, 3, 23, 12, 35, 59); System.out.println("YEAR = " + dt.get(ChronoField.YEAR)); System.out.println("MONTH_OF_YEAR = " + dt.get(ChronoField.MONTH_OF_YEAR)); .. 2025. 3. 23. Java 중급 1 - 날짜와 시간(2) 시간의 단위와 시간 필드 1. 시간의 단위 - TemporalUnit, ChronoUnitTemporalUnit 인터페이스는 날짜와 시간을 측정하는 단위를 나타내며 주로 사용되는 구현체는java.time.temporal.ChronoUnit 열거형으로 구현ChronoUnit은 다양한 시간 단위를 제공주요 메서드between(Temporal, Temporal)두 객체 사이의 시간을 현재 ChronoUnit 단위로 측정하여 반환isDateBased()현재 ChronoUnit이 날짜 기반 단위인지(ex) Day, Week, Month, Year) 여부를 반환isTimeBased()현재 ChronoUnit이 시간기반 단위인지(ex) Hour, Minutes, Seconds) 여부를 반환isSupportedBy(.. 2025. 3. 19. Java 중급 1 - 날짜와 시간(1) 1. 자바 날짜와 시간 라이브러리 LocalDate, LocalTime, LocalDateTimeLocalDate날짜만 표현할 때 사용한다. 년, 월, 일을 다룬다. ex) 2013-11-21LocalTime시간만을 표현할 때 사용. 시, 분, 초를 다룸. ex) 08.20.30.213LocalDateTimeLocalDate 와 LocalTime을 합한 개념. ex) 2013-11-21T08:20:30.213타임존 적용 x ZonedDateTime, OffsetDateTimeZonedDateTime시간대를 고려한 날짜와 시간을 표현할 때 사용. 타임존 포함ex) 2013-11-21T08:20:30.213+9:00[Asia/Seoul]+9:00은 UTC로부터의 시간대 차이. 오프셋이라함.일광 절약 시간제.. 2025. 3. 16. Java 중급 1 - 열거형 Enum 1. 문자열과 타입 안정성1package enumeration.ex0;public class DiscountService { public int discount(String grade, int price) { int discountPercent = 0; if (grade.equals("BASIC")) { discountPercent = 10; } else if (grade.equals("GOLD")) { discountPercent = 20; } else if (grade.equals("DIAMOND")) { discountPercent = 30; } else { .. 2025. 2. 24. 이전 1 2 3 4 5 6 7 8 9 다음