[JAVA] 36. 클래스와 객체 (2) DeskLamp 클래스 예제

서회정's avatar
Feb 11, 2025
[JAVA] 36. 클래스와 객체 (2) DeskLamp 클래스 예제

💡
상태는 행위를 통해 변경된다.
💡
상태에 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

clubnerdy