Day 14

강태훈·2026년 1월 16일

nbcamp TIL

목록 보기
14/58

계산기 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);

1. public

  • 어디서든 접근가능

2. abstract

  • 이 메서드는 구현이 없음(메서드 몸체 { } 없음)
  • 어떻게 동작할지는 자식이 정해라(선언만 있고 내용은 없음)

3. double

  • 이 메서드는 double값을 반환해야한다
  • 구현하는쪽(@override)도 반드시 double을 반환

4. apply

  • 메서드 이름
  • enum 상수들이 반드시 구현해야 할 “약속된 이름”

5. (double num1, double num2)

  • 매개변수 목록
  • override할 때 타입·순서·개수 전부 동일해야 함


1. enum

서로 관련 있는 상수들의 집합을 타입으로 만든 것

2.람다

익명 함수(이름 없는 메서드) → “메서드를 값처럼 전달”
딱 1개의 추상 메서드를 가진 인터페이스에서만 사용 가능
(매개변수) -> { 실행문 }

표준 함수형 인터페이스

인터페이스메서드용도
Function<T,R> apply 변환
Predicate<T>test조건
Consumer<T>accept 소비 
Supplier<T>get공급

3. 오버라이드(override)

부모(상위 타입)가 선언한 메서드를 자식(하위 타입)이 자기 방식으로 다시 구현하는 것

0개의 댓글