Languages/Java

[자바 객체 지향 프로그래밍] 04. 자바, 더 정확하게!

Dev다D 2021. 3. 2. 16:00
반응형

단위 변환기

 

우리가 만들 단위 변환기는 인스턴스를 생성하지 않고도 사용할 수 있도록, 클래스 변수와 클래스 메소드로만 이루어져 있습니다.

언제든 간편하게 사용할 수 있는 도구를 만드는 거죠!

상수

이 클래스와 관련 있는 상수(static final 변수)를 만들어야 합니다.

 

1 파운드 = 0.45359237 킬로그램
1 인치 = 2.54 센티미터

 

위의 두 공식을 이용해서 상수 네 개(KILOGRAMS_PER_POUND, POUNDS_PER_KILOGRAM, CENTIMETERS_PER_INCH, INCHES_PER_CENTIMETER)를 만들어보세요.

클래스 메소드

앞서 만든 상수들을 활용하여 무게와 길이 단위를 전환하는 메소드를 만들어주세요. 추가로 섭씨에서 화씨로, 또 화씨에서 섭씨로 전환하는 메소드도 만들어주세요.

 

섭씨를 화씨로 전환하는 수학적 공식은 아래와 같습니다:

 

°F = °C × (9 / 5) + 32

 

그리고 화씨를 섭씨로 전환하는 수학적 공식은 아래와 같습니다:

 

°C = (°F − 32) x (5 / 9)

 

보너스: private 생성자

UnitConverter 클래스는 인스턴스를 만들지 않고, static한 방법으로만 사용하고 싶습니다. 이런 경우, 생성자를 private으로 선언하여 인스턴스 생성을 막을 수 있습니다.

UnitConverter의 생성자를 private으로 만들어 외부에서 인스턴스 생성을 못 하게 막아주세요!

 

35 lb -> 15.88 kg
62 kg -> 136.69 lb
12.2 in -> 30.99 cm
3.82 cm -> 1.50 in
48 °F -> 8.89 °C
-9 °C -> 15.80 °F

 

 


package Ex0412;

public class UnitConverter {
    public static final double KILOGRAMS_PER_POUND = 0.45359237;
    public static final double POUNDS_PER_KILOGRAM = 1 / KILOGRAMS_PER_POUND;
    public static final double CENTIMETERS_PER_INCH = 2.54;
    public static final double INCHES_PER_CENTIMETER = 1 / CENTIMETERS_PER_INCH;

    public static double toPounds(double kilograms) {
        return POUNDS_PER_KILOGRAM * kilograms;
    }
    public static double toKilograms(double pounds) {
        return KILOGRAMS_PER_POUND * pounds;
    }
    public static double toCentimeters(double inches) {
        return CENTIMETERS_PER_INCH * inches;
    }
    public static double toInches(double centimeters) {
        return INCHES_PER_CENTIMETER * centimeters;
    }
    public static double toFahrenheit(double celsius) {
        return celsius * (9.0 / 5.0) + 32;
    }
    public static double toCelsius(double fahrenheit) {
        return (fahrenheit - 32) * (5.0 / 9.0);
    }
}

본 내용은 Codeit의  '자바 기초' 강의를
참고하여 작성한 내용입니다.

 

반응형