JAVA (35) 썸네일형 리스트형 김영한의 실전 자바 중급 1편 (16) 내부 클래스의 활용package nested.inner.ex1;public class Engine { private Car car; public Engine(Car car){ this.car = car; } public void start() { System.out.println("충전 레벨 확인: " + car.getChargeLevel()); System.out.println(car.getModel() + "의 엔진을 구동합니다."); }} package nested.inner.ex1;public class Car { private String model; private int chargeLevel; private Eng.. 김영한의 실전 자바 중급 1편 (15) 중첩 클래스, 내부 클래스1 클래스 안에 클래스를 중첩해서 정의할 수 있는데, 이것을 중첩 클래스라 한다.Class Outer { //중첩 클래스 class Nested{ .... }} 중첩 클래스 분류중첩 클래스는 총 4가지가 있고 크게 2가지로 분류할 수 있다.정적 중첩 클래스내부 클래스 내부 클래스지역 클래스익명 클래스 Class Outer { //정적 중첩 클래스 static class StaticNested { ... } //내부 클래스 class Inner { ... }} 정적 중첩 클래스는 정적 변수와 같이 앞에 static이 붙어있다.내부 클래스는 인스턴스 변수와 같이 앞에 static이 붙어있지 않다. 정적 중첩 클래.. 김영한의 실전 자바 중급 1편 (14) 기간,시간의 간격 - Duration, PeriodPeriod : 두 날짜 사이의 간격을 년, 월, 일 단위로 나타낸다.이 프로젝트는 3개월 정도 걸릴 것 같아기념일이 120일 남았어프로젝트 시작일과 종료일 사이의 간격: 프로젝트 기간Duration : 두 시간 사이의 간격을 시, 분, 초 단위로 나타낸다.라면을 끓이는 시간은 3분이야영화 상영 시간은 2시간이야서울에서 부산까지는 4시간이 걸려package time;import java.time.LocalDate;import java.time.Period;public class PeriodMain { public static void main(String[] args) { //생성 Period period = Period.o.. 김영한의 실전 자바 중급 1편 (13) 날짜와 시간 라이브러리가 필요한 이유1. 날짜와 시간 차이 계산특정 날짜에서 다른 날짜까지의 정확한 일수를 계산하는 것은 생각보다 복잡하다. 윤년, 각 달의 일수 등을 모두 고려해야 하며, 간단한 뺄셈 연산으로는 정확한 결과를 얻기 어렵다. 2. 윤년 계산 3.일광 절약 시간 변환3월에서 10월은 태양이 일찍 뜨고, 나머지는 태양이 상대적으로 늦게 뜬다. 시간도 여기에 맞추어 1시간 앞당기거나 늦추는 제도를 일광 절약 시간제 또는 썸머 타임이라 한다. 국가나 지역에 따라 적용 여부와 시작 및 종료 날짜가 다르다. 이로인해 1시간의 오차가 발생할 수 있다. 이를 정확히 계산하는 것은 복잡하다. 4. 타임존 계산세계는 다양한 타임존으로 나뉘어 있으며, 각 타임존은 UTC로 부터의 시간 차이로 정의된다. 5.. 김영한의 실전 자바 중급 1편 (12) 열거형 - 주요 메서드모든 열거형은 java.lang.Enum 클래스를 자동으로 상속 받는다. package enumeration.ex3;import java.util.Arrays;public class EnumMethodMain { public static void main(String[] args) { Grade[] values = Grade.values(); System.out.println("values = " + Arrays.toString(values)); for(Grade value : values){ System.out.println("name = " + value.name() + ", ordinal = " + value.ord.. 김영한의 실전 자바 중급 1편 (11) 문자열과 타입 안정성1자바가 제공하는 열거형(Enum Type)이 생겨난 이유 EX)고객은 3등급으로 나누고, 상품 구매시 등급별로 할인을 적용한다. BASIC: 10% 할인GOLD: 20% 할인DIAMOND: 30% 할인package 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 = 2.. 김영한의 실전 자바 중급 1편 (10) System 클래스package lang.system;import java.util.Arrays;public class SystemMain { public static void main(String[] args) { // 현재 시간(밀리초)를 가져 온다. long currentTimeMillis = System.currentTimeMillis(); System.out.println("currentTimeMillis = " + currentTimeMillis); // 현재 시간(나노초)를 가져온다. long currentTimeNano = System.nanoTime(); System.out.println("currentTim.. 김영한의 실전 자바 중급 1편 (9) 래퍼 클래스 - 오토 박싱오토 박싱 - Autoboxingpackage lang.wrapper;public class AutoboxingMain1 { public static void main(String[] args) { // Primitrive -> Wrapper int value = 7; Integer boxedValue = Integer.valueOf(value); // Wrapper -> Primitive int unboxedValue = boxedValue.intValue(); System.out.println("boxedValue = " + boxedValue); System.out.println(".. 이전 1 2 3 4 5 다음