Contents
예제1. 상태를 isPress로 상태에 private을 붙이는 이유 : 상태에 직접 접근을 못하게 하기 위해
method에 public을 붙이는 이유 : 상태를 반드시 행위로 변경하기 위해
package ex04;
class DeskLamp {
// private을 붙이는 이유 : 상태를 강제시키려고 (상태를 아무데서나 접근 못하게 막기위해)
private boolean isOn; // 컨벤션 (우리끼리 약속), 변수의 선언
public void turnOn() {
isOn = true;
}
public void turnOff() {
isOn = false;
}
public String toString() {
return "현재 상태는 " + (isOn == true ? "켜짐" : "꺼짐");
}
}
public class DeskLampTest {
public static void main(String[] args) {
DeskLamp myLamp = new DeskLamp(); // 인스턴스, 객체(Object)
myLamp.turnOn(); // 1. 상태는 행위를 통해 변경이 가능하다. myLamp.isOn = true; -> X
System.out.println(myLamp);
myLamp.turnOff();
System.out.println(myLamp);
}
}

package ex04;
class DeskLamp {
// private을 붙이는 이유 : 상태를 강제시키려고 (상태를 아무데서나 간섭못하게 막기위해)
private boolean isOn; // 컨벤션 (우리끼리 약속), 변수의 선언
public boolean getIsOn() { // 상태 확인 - 컨벤션(상태를 확인하는 변수들은 get으로 시작한다.) - 카멜표기법(낙타표기법)
return isOn;
}
public void turnOn() { // 행위 -> 상태 변경
isOn = true;
}
public void turnOff() { // 행위 -> 상태 변경
isOn = false;
}
}
public class DeskLampTest {
public static void main(String[] args) {
DeskLamp myLamp = new DeskLamp(); // 인스턴스, 객체(Object)
myLamp.turnOn(); // 1. 상태는 행위를 통해 변경이 가능하다. myLamp.isOn = true; -> X
System.out.println(myLamp.getIsOn());
myLamp.turnOff();
System.out.println(myLamp.getIsOn());
}
}

예제1. 상태를 isPress로
package ex04;
class Radio {
//상태 : isPress
private boolean isPress;
// 행위 : 책임을 생각하고 만든다.
// 1. 책임 (켜다)
public void turnOn() {
isPress = true;
}
// 2. 책임 (끄다)
public void turnOff() {
isPress = false;
}
public boolean getIsPress() {
return isPress;
}
}
public class RadioTest {
public static void main(String[] args) {
Radio radio = new Radio();
radio.turnOn();
System.out.println(radio.getIsPress());
radio.turnOff();
System.out.println(radio.getIsPress());
}
}

Share article