반응형
단위 변환기
우리가 만들 단위 변환기는 인스턴스를 생성하지 않고도 사용할 수 있도록, 클래스 변수와 클래스 메소드로만 이루어져 있습니다.
언제든 간편하게 사용할 수 있는 도구를 만드는 거죠!
상수
이 클래스와 관련 있는 상수(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의 '자바 기초' 강의를
참고하여 작성한 내용입니다.
반응형
'Languages > Java' 카테고리의 다른 글
[자바 객체 지향 프로그래밍] 05. 자바, 더 간편하게! (0) | 2021.03.03 |
---|---|
[자바 객체 지향 프로그래밍] 05. 자바, 더 간편하게! (0) | 2021.03.03 |
[자바 객체 지향 프로그래밍] 03. 중간고사: 문제 해결 능력 기르기 (0) | 2021.02.28 |
[자바 객체 지향 프로그래밍] 03. 중간고사: 문제 해결 능력 기르기 (0) | 2021.02.26 |
[자바 객체 지향 프로그래밍] 03. 중간고사: 문제 해결 능력 기르기 (4) | 2021.02.04 |