day09_TvTest2

육희영·2021년 10월 5일
0
package day09;

public class TvTest2 {
	public static void main(String[] args) {
		// Tv t; //Tv인스턴스를 참조하기 위한 변수 t를 선언
		Tv1 t1 = new Tv1(); // Tv인스턴스를 생성
		Tv1 t2 = new Tv1(); // Tv인스턴스를 생성

		System.out.println("t1의 channel 값은 " + t1.channel + "입니다.");
		System.out.println("t2의 channel 값은 " + t2.channel + "입니다.");

		// t1의 주소가 t2에 저장되면서 t2가 가르치고 있던 주소는 더이상 사용불가.
		// 가비지 컬렉터에 의해서 자동으로 메모리에서 삭제다 된다.
		t2 = t1; // t1이 저장하고 있는 값(주소)를 t2에 저장한다.
		t1.channel = 7; // channel 값을 7로 한다.
		System.out.println("t1의 channel값을 7로 변경하였습니다.");

		System.out.println("t1의 channel 값은 " + t1.channel + "입니다.");
		System.out.println("t2의 channel 값은 " + t2.channel + "입니다.");

	}
}
class Tv1 {
	boolean power; // 전원상태 on/off
	int channel; // 채널

	void power() {
		power = !power; // Tv를 켜거나 끄는 기능을 하는 메서드
	}

	void channelUp() { // Tv를 채널을 높이는 기능을 하는 메서드
		++channel;
	}

	void channelDown() { // Tv를 채널을 낮추는 기능을 하는 메서드
		--channel;
	}
}

출력결과

t1의 channel 값은 0입니다.
t2의 channel 값은 0입니다.
t1의 channel값을 7로 변경하였습니다.
t1의 channel 값은 7입니다.
t2의 channel 값은 7입니다.

0개의 댓글

관련 채용 정보