public double finalPrice() {
        double basePrice = this.quantity * this.itemPrice;
        int discountLevel = getDiscountLevel();
        return this.discountedPrice(basePrice, discountLevel);
    }

    private int getDiscountLevel() {
        return this.quantity > 100 ? 2 : 1;
    }

    private double discountedPrice(double basePrice, int discountLevel) {
        return discountLevel == 2 ? basePrice * 0.9 : basePrice * 0.95;
    }
}

해당코드에서 매개변수를 하나 줄이고 그 매개변수를 메서드로 받아 사용하면된다.

public double finalPrice() {
        double basePrice = this.quantity * this.itemPrice;
        return this.discountedPrice(basePrice);
    }

    private int getDiscountLevel() {
        return this.quantity > 100 ? 2 : 1;
    }

    private double discountedPrice(double basePrice) {
        return getDiscountLevel() == 2 ? basePrice * 0.9 : basePrice * 0.95;
    }