JAVA 6강_1_Class 예제

열라뽕따히·2024년 2월 4일

JAVA

목록 보기
32/79

TV의 색상, 전원, 채널을 멤버변수에 설정하고 TV의 전원이 켜졌을 때 채널을 하나씩 증가시키거나 하나씩 감소시키는 멤버 메서드를 만들어보자




============================코드============================

public class TV {
	
	// 멤버변수
	String color;           // TV 색상
	boolean power;          // TV 전원
	int channel;            // TV 채널
	
	// 멤버 메서드
	void power() {          // TV 전원 메서드
		
		power = !power;  // true를 power안에다 넣어!
		
	} // power() 메서드 end
	
	void channelUp() {   // TV 채널을 올리는 메서드
		
		if(power) {     // 전원이 켜졌을 때 채널을 하나씩 증가해라
			channel++;
		}
	} // channelUp() 메서드 end
	
	void channelDown() {   // TV 채널을 내리는 메서드
		
		if(power) {     // 전원이 켜졌을 때 채널을 하나씩 증가해라
			channel--;
		}
	} // channelUp() 메서드 end
	
	void display() {
		
		String status = "";
		
		if(power) {
			status = "전원 on";
		}else {
			status = "전원 off";
		}
		
		System.out.println("TV색상 >>> " + color);
		System.out.println("TV전원 >>> " + status);
		System.out.println("TV채널 >>> " + channel);
		
	}  // display() 메서드 end
	
}

또 다른 TV_02 클래스 생성




============================코드============================

public class TV_02 {

	public static void main(String[] args) {
		
		TV tv = new TV();  // TV 객체 생성
		
		tv.display();
		
		System.out.println();
		
		tv.color = "검정색";
		tv.channel = 7;
		tv.channelUp();   // 채널을 증가시키는 메서드 호출
		
		tv.display();
		System.out.println();
		
		tv.power();      // 전원을 on 시키는 메서드 호출
		tv.channelUp();  // 채널을 증가시키는 메서드 호출
		tv.display();    
		
		System.out.println();
		

============================실행============================

[문제1]
TV 객체를 만들되 tv1이라는 참조 변수를 이용하여 객체를 만들고 아래와 같이 조건에 맞게 실행하세요
조건1) 색상 : 흰색, 전원 : off, 채널 : 15
조건2) tv1 정보를 화면에 출력해 보세요 ==> display() 메서드를 이용하면 됨
조건3) tv1 정보를 다음과 같이 변경하여 화면에 보여주세요
색상 : 흰색, 전원 : on, 채널 : 28




============================코드============================

TV tv1 = new TV();
		
		System.out.println();
		
		System.out.println("[문제1]");
		
		tv1.color = "흰색";
		tv1.channel = 15;
        
        tv1.display();
		
		System.out.println();
		
		System.out.println("[문제1 변경 후]");
		tv1.power();
		
		for(int i = tv1.channel; i < 28; i++) {
			tv1.channelUp();
		}
		
		tv1.display();
		
		System.out.println();

============================실행============================



[문제2]
TV 객체를 만들되 tv2라는 참조 변수를 이용하여 객체를 만들고 아래와 같이 조건에 맞게 실행하세요
조건1) 색상 : 흰색, 전원 : off, 채널 : 32
조건2) tv2 정보를 화면에 출력해 보세요 ==> display() 메서드를 이용하면 됨
조건3) tv2 정보를 다음과 같이 변경하여 화면에 보여주세요
색상 : 검정색, 전원 : on, 채널 : 11




============================코드============================

TV tv2 = new TV();
		
		System.out.println();
		System.out.println("[문제2]");
		
		tv2.color = "흰색";
		tv2.channel = 32;
		tv2.display();
		
		System.out.println();
		System.out.println("[문제2 변경 후]");
		
		tv2.color = "검정색";
		tv2.power();
		for(int i = tv2.channel; i > 11; i--) {
			tv2.channelDown();
		}
		
		tv2.display();

============================실행============================




**어려웠던 점
-멤버 메서드를 활용하는 것이 좀 헷갈리게 느껴졌고.. 설정한 변수값을 for문을 통해 증가시키거나 감소시키는 식을 만드는 것, for문 안에 생성했던 멤버 메서드인 channelUp, Down을 반복 실행으로 넣는 것을 생각해내는 게 어려웠음.. 반복적으로 푸는 것만이 살길 흑흑 ㅜ

0개의 댓글