tonykang22 / study

0 stars 0 forks source link

[Refactoring] 냄새 5. 전역데이터 #11

Open leeyuunsung opened 2 years ago

leeyuunsung commented 2 years ago

냄새 5. 전역데이터(Global Data)


리팩토링 17. 변수 캡슐화하기(Encapsulate Variable)

Before

public class Thermostats {
    public static Integer targetTemperature = 70;
    public static Boolean heating = true;
    public static Boolean cooling = false;
    public static Boolean fahrenheit = true;
}
public class Home {
    public static void main(String[] args) {
        System.out.println(Thermostats.targetTemperature);
        Thermostats.targetTemperature = -1111600;
        Thermostats.fahrenheit = false;
    }
}

After

@Getter @Setter
public class Thermostats {
    private static Integer targetTemperature = 70;
    private static Boolean heating = true;
    private static Boolean cooling = false;
    private static Boolean fahrenheit = true;
}
public class Home {
    public static void main(String[] args) {
        System.out.println(Thermostats.getTargetTemperature());
        Thermostats.setTargetTemperature(68);
        Thermostats.setFahrenheit(false);
    }
}