상태는 행위를 통해 변경된다.
상태에 Private 붙이는 이유? → 상태에 직접 접근을 못하게 하기 위해
메서드에 Public 붙이는 이유? → 상태를 반드시 행위로 변경하기 위해
package ex04;
class DarkLamp {
private boolean inOn; // 변수의 선언
// private 접근할 수 업도록 처리
// 컨벤션 => 약속/규칙 프로젝트마다, 임의로 바꿀 수 있음. 절대적인 법칙은아님.
// 예를 들어 isOn boolean에는 무조건 is 붙이자~ 이런거
void turnOn() {
inOn = true;
}
void turnOff() {
inOn = false;
}
public String toString() {
return "현재 상태는" + (inOn == true ? "On" : "Off");
}
}
public class DarkLampTest {
public static void main(String[] args) {
DarkLamp mylamp = new DarkLamp(); //인스턴스, 객체(object)
mylamp.turnOn();
System.out.println(mylamp);
mylamp.turnOff();
System.out.println(mylamp);
}
}다른예제 만들어보면서 연습하기
package ex04;
class Radio {
// 상태 : isPress
private boolean isPress; //선언
public boolean getIsPress() { //상태확인
return isPress;
}
// 행위 : 책임을 생각하고 만든다.
// 1. 책임
void visible() { //행위 -> 상태변경
isPress = true;
}
void hidden() { //행위 -> 상태변경
isPress = false;
}
public String toString() {
return "현재 상태는" + (isPress == true ? "보임" : "보이지않음");
}
}
public class RadioTest {
public static void main(String[] args) {
Radio myradio = new Radio();
myradio.visible();
System.out.println(myradio.getIsPress());
myradio.hidden();
System.out.println(myradio.getIsPress());
}
}
Share article