[JAVA] 24. DeskLamp 클래스

편준민's avatar
Feb 17, 2025
[JAVA] 24. DeskLamp 클래스
💡

완벽한 객체지향 프로그램

상태에 private 붙이는 이유 : 상태에 직접 접근 못하게 하기 위해서이다.
메서드에 public을 붙이는 이유 : 상태는 행위를 통해서만 변경된다.
package ex04; class DeskLamp { 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.isOn = true; 실행은 ok, 하지만 객체지향 프로그램은 아님. 이유 : 상태는 행위를 통해서 변경해야함 myLamp.turnOn(); System.out.println(myLamp.getIsOn()); myLamp.turnOff(); System.out.println(myLamp.getIsOn()); } }
상태를 확인하는 메서드는 get으로 시작한다. (컨벤션-약속)
  • 컨벤션은 회사, 단체 등의 작은 약속이다
메서드는 카멜 표기법 (첫글자 소문자. 이후 띄어쓰기 대신 대문자 ) - ex) getIsOn
메서드가 가지고 있는 책임이 적으면 적을수록 관리가 편리하다. (책임이 1개가 최고로 좋음)
Share article

YunSeolAn