2024-08-18 02:02:50
๋ฐ˜์‘ํ˜•

package makingTv;

public class Tv {
	
	
	String modelName;
	String companyName;
	int price;
	boolean powerState;
	int currentVolume;
	int maxVolume;
	
	Tv(String modelName, String companyName, int price, int maxVolume){
		this.modelName = modelName;
		this.companyName = companyName;
		this.price = price;
		
		/*
		 * if(maxVolume <= 0){
		 * 	this.maxVolume = 10;
		 * }else{
		 * 	this.maxVolume = maxVolume;
		 * }
		 */
		
		this.maxVolume = maxVolume <= 0 ? 10 : maxVolume;	
		this.powerState = false;
		this.currentVolume = 0;
		
	}
	
	
	
//    - turnOn ๋ฉ”์†Œ๋“œ : ํ‹ฐ๋น„ ์ „์›์„ ํ‚ต๋‹ˆ๋‹ค ์ถœ๋ ฅ ํ›„, ์ „์› ์ƒํƒœ๋ฅผ ๋ณ€๊ฒฝํ•œ๋‹ค
	
	void turnOn() {
		System.out.println("ํ‹ฐ๋น„ ์ „์›์„ ํ‚ต๋‹ˆ๋‹ค");
		powerState = true;		
	}
	
//    - turnOff ๋ฉ”์†Œ๋“œ : ํ‹ฐ๋น„ ์ „์›์„ ๋•๋‹ˆ๋‹ค ์ถœ๋ ฅ ํ›„, ์ „์› ์ƒํƒœ๋ฅผ ๋ณ€๊ฒฝํ•œ๋‹ค
	
	void turnOff() {
		System.out.println("ํ‹ฐ๋น„ ์ „์›์„ ๋•๋‹ˆ๋‹ค");
		powerState = false;
	}

	
//    - volumeUp ๋ฉ”์†Œ๋“œ : ํ‹ฐ๋น„ ์ „์› ์ƒํƒœ๊ฐ€ ์ผœ์ ธ ์žˆ๋‹ค๋ฉด, ํ˜„์žฌ ๋ณผ๋ฅจ์„ 1 ์ฆ๊ฐ€์‹œํ‚จํ›„ ํ˜„์žฌ ๋ณผ๋ฅจ์„ ์ถœ๋ ฅํ•œ๋‹ค
//    (๋‹จ, ํ˜„์žฌ ๋ณผ๋ฅจ์€ ์ตœ๋Œ€ ๋ณผ๋ฅจ์„ ๋„˜์ง€ ๋ชปํ•œ๋‹ค)
	
	void volumeUp() {
		// ํ‹ฐ๋น„ ์ „์› ์ƒํƒœ๊ฐ€ ๊บผ์ ธ ์žˆ๋‹ค๋ฉด ๋ฉ”์†Œ๋“œ ์ข…๋ฃŒ
		if(!powerState) {
			System.out.println("ํ‹ฐ๋น„ ์ „์›์ด ๊บผ์ ธ ์žˆ์Šต๋‹ˆ๋‹ค");
			return; // return : ์‹คํ–‰๋˜๋ฉด ๋ฉ”์†Œ๋“œ์˜ ์‹คํ–‰์ด ์ข…๋ฃŒ๋œ๋‹ค
			// ์•„๋ž˜์˜ ์ฝ”๋“œ๊ฐ€ ์‹คํ–‰๋˜์ง€ ์•Š๋Š”๋‹ค
		}
		
		// ํ‹ฐ๋น„์˜ ํ˜„์žฌ ๋ณผ๋ฅจ์ด ์ตœ๋Œ€ ๋ณผ๋ฅจ์„ ๋„˜๋Š”๋‹ค๋ฉด ๋ฉ”์†Œ๋“œ ์ข…๋ฃŒ
		if(currentVolume >= maxVolume) {
			System.out.println("ํ˜„์žฌ ์ตœ๋Œ€ ๋ณผ๋ฅจ์ž…๋‹ˆ๋‹ค");
			return;
		}
		
		// if(powerState && currentVolume < maxVolume)
		
		currentVolume++;
		System.out.println("ํ˜„์žฌ ๋ณผ๋ฅจ : " + currentVolume);
		
	}
	
//    - volumeDown ๋ฉ”์†Œ๋“œ : ํ‹ฐ๋น„ ์ „์› ์ƒํƒœ๊ฐ€ ๊บผ์ ธ ์žˆ๋‹ค๋ฉด, ํ˜„์žฌ ๋ณผ๋ฅจ์„ 1 ๊ฐ์†Œ์‹œํ‚จํ›„ ํ˜„์žฌ ๋ณผ๋ฅจ์„ ์ถœ๋ ฅํ•œ๋‹ค
//    (๋‹จ, ํ˜„์žฌ ๋ณผ๋ฅจ์€ 0๋ณด๋‹ค ์ž‘์•„์ง€์ง€ ๋ชปํ•œ๋‹ค)
	
	void volumeDown() {
		if(powerState && currentVolume > 0) {
			currentVolume--;
			System.out.println("ํ˜„์žฌ ๋ณผ๋ฅจ : " + currentVolume);
		}
	}

์ด ์ฝ”๋”ฉ ๋ธ”๋Ÿญ์€ Tv๋ผ๋Š” ํด๋ž˜์Šค์ด๋‹ค.

 

package makingTv;

public class TvTest {

	public static void main(String[] args) {
		
		Tv tv1 = new Tv("์‚ผ์„ฑํ‹ฐ๋น„", "์‚ผ์„ฑ", 1000, 5);
		Tv tv2 = new Tv("์—˜์ง€ํ‹ฐ๋น„", "์—˜์ง€", 1500, -3);
		
		// ์ƒ์„ฑ์ž์˜ ๊ฒ€์ฆ ๋กœ์ง์ด ์ž˜ ๋˜๋Š”์ง€ ํ™•์ธ
		System.out.println(tv1.powerState);
		System.out.println(tv2.maxVolume);
		
		// ์ „์›์ด ๊บผ์ ธ์žˆ๋Š”๋ฐ ๋ณผ๋ฅจ์„ ๋†’์ด๋Š” ๊ฒฝ์šฐ
		tv1.volumeUp();
		
		// ์ „์›์ด ๊บผ์ ธ์žˆ๋Š”๋ฐ ๋ณผ๋ฅจ์„ ๋‚ฎ์ถ”๋Š” ๊ฒฝ์šฐ
		tv1.volumeDown();
		System.out.println(tv1.currentVolume);
		
		// ์ „์›์ด ์ผœ์ ธ์žˆ๋Š”๋ฐ ํ˜„์žฌ ๋ณผ๋ฅจ์ด 0์ผ๋•Œ ๋ณผ๋ฅจ์„ ๋‚ฎ์ถ”๋Š” ๊ฒฝ์šฐ
		tv1.turnOn();
		tv1.volumeDown();
		System.out.println(tv1.currentVolume);
			
		// ์ „์›์ด ์ผœ์ ธ์žˆ๊ณ , ํ˜„์žฌ ๋ณผ๋ฅจ์„ ๋†’ํž ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ
		tv1.volumeUp();
		
		
		
	}

}

์ด ์ฝ”๋“œ ๋ธ”๋Ÿญ์€ ์‹คํ–‰์ฐฝ์ด๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ด๋‹ค.

 

์ด ์ฝ”๋”ฉ์€ ํด๋ž˜์Šค์™€ ๋ฉ”์†Œ๋“œ์˜ ์‚ฌ์šฉ๋ฐฉ๋ฒ•์„ ์•Œ๊ณ ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ์— ์ข‹์€ ์˜ˆ์‹œ์ด๋‹ค.

 

 

728x90

'์–ธ์–ด > JAVA' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

JAVA : Final(์ƒ์ˆ˜) ์‚ฌ์šฉํ•˜๊ธฐ  (0) 2024.08.21
JAVA : ์ ‘๊ทผ ์ œํ•œ์ž์™€ static  (0) 2024.08.18
JAVA : ์ƒ์†(Inheritance)  (0) 2024.08.16
JAVA : ๋ฉ”์†Œ๋“œ(method)  (0) 2024.08.12
JAVA : ์ƒ์„ฑ์ž  (0) 2024.08.12