gwooden_코린이
java_tv만들기_221129(7일차) 본문
728x90
package TV만들기;
public class Main {
public static void main(String[] args) {
/** ==초기상태== **/
//기본 생성자
Tv lgTV = new Tv();
//viewTv만 호출 해서 정보 확인해보기
lgTV.viewTv(); //기본 상태 값 표시
/** ==값 첫 번째 변경 == **/
//전원켜기
lgTV.setPower(true);
lgTV.setChannel(500);
System.out.println("--1--"); //구별하기 위해
lgTV.viewTv(); //파워와 채널 변경후 다시 viewTv 불러왔을 때 변경 된 값 표시
/** ==값 두 번째 변경 == **/
//오버로딩 때문에 묶어둔것
System.out.println("--2--"); //구별하기 위해
lgTV.setChannel(222, true);
lgTV.viewTv();
System.out.println("--3--"); //구별하기 위해
lgTV.setChannel(999, false);
lgTV.viewTv();
System.out.println("--4--"); //구별하기 위해
lgTV.setVolume(50);
lgTV.viewTv();
/**
* 아래 생성자를 불러올려면 똑같이 값을 채워줘야 가능
*
* Tv(String name) {
super(false, 20, 15);
this.name = name;
isInternet = false;
}
*/
System.out.println("--5--"); //구별하기 위해
Tv myTv = new Tv("우리집");
myTv.viewTv();
}
}
이름 :LG TV 전원 :false 채널 :10 볼륨 :10 인터넷연결 :false --1-- 이름 :LG TV 전원 :true 채널 :500 볼륨 :10 인터넷연결 :false --2-- 인터넷 연결 성공 이름 :LG TV 전원 :true 채널 :500 볼륨 :10 인터넷연결 :true --3-- 채널이999로 변경 이름 :LG TV 전원 :true 채널 :999 볼륨 :10 인터넷연결 :false --4-- 이름 :LG TV 전원 :true 채널 :999 볼륨 :50 인터넷연결 :false --5-- 이름 :우리집 전원 :false 채널 :20 볼륨 :15 인터넷연결 :false |
package TV만들기;
//자식 클래스
public class Tv extends PrototypeTv { //PrototypeTv 상속 받기
String name;
boolean isInternet;
//기본 생성자
Tv() {
super();
name = "LG TV";
isInternet = false;
}
//name을 생성 받아서 만든 생성자 (매개변수)
Tv(String name) {
super(false, 20, 15);
this.name = name;
isInternet = false;
}
//메서드 생성 (매개변수)
void setPower(boolean isPower) { //isPower를 전달 받게끔
this.isPower = isPower;
}
//오버라이딩 (채널 관련) (매개변수)
public void setChannel(int cnl) {
if(cnl >= 0 && cnl < 2000) {
channel = cnl;
} else {
System.out.println("채널이 없습니다.");
}
}
//오버로딩 (인터넷 관련) (매개변수로 사용되는 것)
public void setChannel(int cnl, boolean isInternet) {
if(isInternet) {
System.out.println("인터넷 연결 성공");
this.isInternet = true;
} else {
this.isInternet = false;
//채널 설정
if(cnl >= 0 && cnl < 2000) {
channel = cnl;
System.out.println("채널이" + channel + "로 변경");
} else {
System.out.println("채널이 없습니다.");
}
}
}
//불륨 설정 (매개변수)
public void setVolume(int vol) {
if(vol>=0 && vol<=100) {
volume = vol;
} else {
System.out.println("볼륨 범위 벗어남[0-100");
}
}
//정보 표시 (Main에서 출력하려면 필요한 코드)
public void viewTv() {
System.out.println("이름 :" + name);
System.out.println("전원 :" + isPower); //보안할시 삼항연산자 사용 <--조건식? 참 : 거짓
System.out.println("채널 :" + channel);
System.out.println("볼륨 :" + volume);
System.out.println("인터넷연결 :" + isInternet);
}
}
package TV만들기;
//부모클래스
public class PrototypeTv {
boolean isPower; //전원 on/off
int channel; //채널
int volume; //불륨
public PrototypeTv() { //기본 값 , 기본 생성자 만들때는 수동 입력
isPower = false;
channel = 10;
volume = 10;
}
// 커스텀 할 수 있는 생성자 만들기
public PrototypeTv(boolean isPower, int channel, int volume) {
this.isPower = isPower;
this.channel = channel;
this.volume = volume;
}
//채널에 관련된 메서드 (오버라이딩)
public void setChannel(int cnl) {
if(cnl>=0 && cnl<1000) {//cnl이 0보다 크거가 같고 그리고 cnl이 1000 이하일때면
channel = cnl; //기존 channel을 cn1로 변경
} else { //아닐 경우 채널 없슴 문자열 출력
System.out.println("채널이 없습니다.");
}
}
}
ex)
- 주제
전자제품 -> 전원관련된 변수 / 메서드 (설계먼저)
전자레인지 -> 기능들 무엇을 넣을지 생각
초입력 (기본베이스)
해동 - 5분 관련 메서드
필요한 변수 추가
초를 이용해서 전자레인지 돌아가는 메서드
sleep 기능
필요한메서드 추가
728x90
'java > 7일차' 카테고리의 다른 글
java_상속+오버라이딩_221129(7일차) (0) | 2022.11.29 |
---|---|
java_final_221129(7일차) (0) | 2022.11.29 |
java_객체지향 추상_221129(7일차) (0) | 2022.11.29 |
java_다형성03_221129(7일차) (0) | 2022.11.29 |
java_다형성02_221129(7일차) (0) | 2022.11.29 |
Comments