TV 문제
- Television 클래스를 작성하고, myTv와 yourTv의 채널, 음량, 현재 상태를 초기화하고 이를 출력하는 프로그램을 작성하시오.
문제 분석
- 상태의 초기화 : 생성자 작성
- 채널, 음량, 현재 상태 : 3개의 상태 > 생성자에 3개의 매개변수 필요
- myTv와 yourTv : 클래스는 1개여도 인스턴스는 여러 개 생성 가능
코드 작성
package ex04;
class Television {
// 1. 성질 : 메서드로만 바꿀 수 있도록 private
private int channel;
private int volume;
private boolean isOnOff;
// 2. 생성자 : 클래스를 호출하면서 동시에 초기화
public Television(int c, int v, boolean o) {
// stack 내의 값을 heap에 저장
channel = c;
volume = v;
isOnOff = o;
}
// 3. 메서드 : 상태 확인
public void print() {
System.out.println("채널은 " + channel + "이고 볼륨은" + volume + "입니다.");
}
}
public class TelevisionTest {
public static void main(String[] args) {
// 4. myTv 호출 : 생성자 생성, heap에 전달
Television myTv = new Television(7, 10, true);
// 4-1. 상태 출력
myTv.print();
// 5. yourTv 호출 : 생성자 생성, heap에 전달
Television yourTv = new Television(11, 20, true);
// 5-1. 상태 출력
yourTv.print();
}
}
결과

내용 정리
- 성질 : 메서드로만 바꿀 수 있도록 private
- 생성자 : 클래스를 호출하면서 동시에 초기화
- 메서드 : 상태 확인
- 호출 : 생성자 생성, heap에 전달
Share article