[자바 (JAVA)] 23. 상태는 행위를 통해 변경한다.

귤's avatar
Feb 11, 2025
[자바 (JAVA)] 23. 상태는 행위를 통해 변경한다.
💡
상태에 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); } }
notion image
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()); } }
notion image

예제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()); } }
notion image
Share article

gyul