계산기 step2부터 재진행중

Number num1 = input1.contains(".")
? Double.parseDouble(input1)
: Integer.parseInt(input1);
조건 ? 참일 때 값 : 거짓일 때 값
input1이 실수처럼 보이면 → Double
아니면 → Integer
input1.contains(".")
input1안에 "."이 포함되어있으면 true
Double.parseDouble(input1)
문자열 -> double 변환, 오토박싱 -> Double 객체
Number : 부모클래스
├─ Integer
├─ Double
├─ Long
├─ Float
꺼내는 법
double value = num1.doubleValue();
public abstract double apply(double num1, double num2);
{ } 없음)double값을 반환해야한다@override)도 반드시 double을 반환enum 상수들이 반드시 구현해야 할 “약속된 이름”override할 때 타입·순서·개수 전부 동일해야 함서로 관련 있는 상수들의 집합을 타입으로 만든 것
익명 함수(이름 없는 메서드) → “메서드를 값처럼 전달”
딱 1개의 추상 메서드를 가진 인터페이스에서만 사용 가능
(매개변수) -> { 실행문 }
| 인터페이스 | 메서드 | 용도 |
|---|---|---|
Function<T,R> | apply | 변환 |
Predicate<T> | test | 조건 |
Consumer<T> | accept | 소비 |
Supplier<T> | get | 공급 |
부모(상위 타입)가 선언한 메서드를 자식(하위 타입)이 자기 방식으로 다시 구현하는 것