[Java] TV 객체 생성

JTI·2022년 11월 4일
0

📌 Code list

목록 보기
23/55
post-thumbnail

1. 객체대상의 특징 뽑기
작업내용: 티비 전원, 채널, 불륨 조절하기

2. 상태(state)와 행위(behavior)로 분류하기
<상태>
tv의 모델명
tv의 전원상태(on, off)
tv의 채널
tv의 볼륨
<행위>
tv를 켠다 -> tv채널을 찾는다 / tv 볼륨을 맞춘다.

3. 상태정보를 기반으로 멤버변수 정보 결정하기(변수명, 타입)
-model: String
-power: boolean
-channel: int
-volume: int

4. 행위정보를 기반으로 메서드 정보 결정하기(메서드명, 리턴정보, 파라미터정보)
+pushPower(): void
+channelUp(): void
+channelDown(): void
+volumUp(): void
+volumDown(): void

class Tv {
	private boolean power = false;
	private int channel = 1;
	private int volume = 5;
	private String model;
	
	public Tv(String model, int channel, int volume) {
		setChannel(channel);
		setVolume(volume);
		setModel(model);
	}
	// 전원 누르면 온 오프
	public void pushPower() {
		if(power == false) {
			power = true;
			System.out.println("power on");
		}
		else { 
			System.out.println("power off");
			power = false;
		}
	}
	// 채널 올리기
	public void channelUp() {
		if(power == true) {
			if(channel != 50) { //  만약 채널이 50이 아니면 채널을 하나 올려준다. (채널범위 50)
				channel++;
				System.out.println("현재 채널: " + channel);
			}else {
				System.out.println("마지막 채널입니다."); // 50 위로 X
			}
		}
	}
	// 채널 내리기
	public void channelDown() {
		if(power == true) {
			if(channel != 1) { // 만약 채널이 1이 아니면 채널을 하나 내려준다.
				channel--;
				System.out.println("현재 채널: " + channel);
			}else {
				System.out.println("첫번째 채널입니다."); // 1 밑으로 X
			}
		}
	}
	// 볼륨 올리기
	public void volumUp() {
		if(power == true) {
			if(volume < 10) {// 만약 볼륨이 10 보다 작으면 올려준다 (최대 볼륨 10)
				volume++;
				System.out.println("현재 볼륨: " + volume);
			}else {
				System.out.println("최대 볼륨입니다.");
			}
		}
	}
	// 볼륨 내리기
	public void volumDown() {
		if(power == true) {
			if(volume > 1 && volume <= 10) { // 만약 볼륨이 1보다 크고 10보다 작거나 같다면 내려준다.
				volume--;
				System.out.println("현재 볼륨: " + volume);
			}else {
				System.out.println("최소 볼륨입니다.");
			}
		}
	}
	public String toStirng() {
		String info = "=======================\n";
		info += "Tv 모델: " + model + "\n";
		info += "Tv의 현재 상태: " + power + "\n";
		info += "채널: " + channel + "\n";
		info += "볼륨: " + volume + "\n";
		info += "=======================";
		return info;
	}
 	
	public boolean isPower() {
		return power;
	}
	public void setPower(boolean power) {
		this.power = power;
	}
	public int getChannel() {
		return channel;
	}
	public void setChannel(int channel) {
		this.channel = channel;
	}
	public int getVolume() {
		return volume;
	}
	public void setVolume(int volume) {
		this.volume = volume;
	}
	public String getModel() {
		return model;
	}
	public void setModel(String model) {
		this.model = model;
	}
	
}

public class TvTest {

	public static void main(String[] args) {
		Tv lg = new Tv("LG",49, 2);
		
		System.out.println(lg.toStirng());
		lg.pushPower();
		lg.channelDown();
		lg.pushPower();
		lg.channelDown();
		lg.volumUp();
		lg.pushPower();
		lg.volumUp();
		
	}

}
profile
Fill in my own colorful colors🎨

0개의 댓글