일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 객체
- htmlspecialchars
- xss game
- suninatas 풀이
- 김성엽 대표님
- object
- blind sql injection
- 백준 파이썬
- python
- 포인터
- 배열
- github
- sql injection
- Pwndbg
- 조건문
- 자바스크립트
- jQuery
- 백준 알고리즘
- element 조회
- window
- 파이썬
- property
- IF문
- burp suite
- xss game 풀이
- 함수
- 사칙연산
- lord of sql injection
- 메소드
- document
Archives
- Today
- Total
power-girl0-0
interface를 이용하여 TV프로그램짜기 본문
728x90
동글동글><
안녕하세요-!! 오늘은 interface -!! 즉, 상속을 이용해서 TV프로그램을 짜볼 예정입니다 ㅎㅎ
따라올 준비 되셨나요?ㅎㅎㅎ
다같이 출발해보아요-!!
먼저, 저의 소스에 대한 설명을 간단하게 하고 출발해보겠습니다ㅎㅎ
저는 package를 두개로 해서 interface를 활용하였습니다.
1. default package 2. TVPKG 등 두가지 패킷을 활용하였습니다.
소스는 다음 아래와 같이 총 5가지의 java소스로 상속하여 만들었습니다.
1. default package
① TVMain.java (switch문을 사용하여 사용자가 원하는 기능을 출력해줌)
② TVData.java (전원켜기, 끄기의 메소드 구현 및 채널과 볼륨 초기화해주는 메소드 구현)
③ SmartTV.java(interface를 상속받아 내용 구현)
2. TVPKG
① TVch.java (tv채널에 대한 메소드 생성)
② TVvol.java (tv볼륨에 대한 메소드 생성)
자-!! 이제 본격적으로 소스로 넘어가겠습니다 ㅎㅎ
<TVch.java>
package TVPKG;
public interface TVch { //채널에 대한 인터페이스
void channel_up(); //채널 업 메소드
void channel_down(); //채널 다운 메소드
}
< TVvol.java >
package TVPKG;
public interface TVvol { //볼륨에 대한 인터페이스
void volume_up(); //볼륨 업 메소드
void volume_down(); //볼륨 다운 메소드
}
< TVData.java >
class TVData{
int channel, volume;//채널번호, 볼륨 멤버 변수 선언
public TVData(int channel, int volume) //채널번호와 볼륨 초기화해주는 메소드
{
this.channel=channel;
this.volume=volume;
}
public void turn_on() //전원켜기 메소드
{
System.out.println("TV가 켜졌습니다.");
}
public void turn_off() //전원끄기 메소드
{
System.out.println("TV가 꺼졌습니다.");
}
}
<SmartTv.java>
import TVPKG.TVch;
import TVPKG.TVvol;
class SmartTv extends TVData implements TVvol, TVch //TVData클래스와 interface 상속
{
public SmartTv(int channel, int volume) //클래스 TVData의 초기화 메소드를 상속받음
{
super(channel, volume);
}
@Override
public void channel_up() //채널 업 메소드
{
channel+=1;
System.out.println("현재채널 : " + channel);
}
@Override
public void channel_down() //채널 다운 메소드
{
channel-=1;
System.out.println("현재채널 : " + channel);
}
@Override
public void volume_up() //볼륨 업 메소드
{
volume+=1;
System.out.println("현재볼륨 : " + volume);
}
@Override
public void volume_down() //볼륨 다운 메소드
{
volume-=1;
System.out.println("현재볼륨 : " + volume);
}
}
<TVMain.java>
import java.util.Scanner;
public class TVMain {
public static void main(String[] args) {
SmartTv sm=new SmartTv(7, 10);//7은 채널번호, 10은 볼륨의 초기값
Scanner sc=new Scanner(System.in);
while(true)
{
System.out.println("1.전원 켜기 2.볼륨업 3.볼륨다운 4.채널올리기 5.채널내리기 6.현재 위치 7.전원끄기");
System.out.print("TV 메뉴 선택 : ");
int choose=sc.nextInt();
switch(choose)
{
case 1 :
sm.turn_on(); //전원켜기 메소드를 불러옴
break;
case 2 :
sm.volume_up(); //볼륨 업 메소드를 불러옴
break;
case 3 :
sm.volume_down(); //볼륨다운 메소드를 불러옴
break;
case 4 :
sm.channel_up(); //채널 업 메소드를 불러옴
break;
case 5 :
sm.channel_down(); //채널다운 메소드를 불러옴
break;
case 6 :
System.out.println("현재 채널은 "+sm.channel+"번이고 볼륨은 "+sm.volume); //현재 채널과 볼륨을 출력
break;
case 7 :
sm.turn_off(); //전원끄기 메소드를 불러옴
break;
default : System.out.println("올바른 메뉴를 선택해주세요.");
}
System.out.println();
if(choose==7)
{
break; //전원끄기인 7을 입력하면 반복문에서 빠져나옴
}
}
sc.close();
}
}
이상 소스를 소개해 드렸고 이제 출력 결과를 보여드리고 마치도록 하겠습니다-!!
다음에 또 만나요-!!!! 동글동글 @.@
728x90
'언어 > Java' 카테고리의 다른 글
java를 이용한 프린터 만들기 (0) | 2020.04.18 |
---|---|
추상클래스와 인터페이스 (0) | 2020.04.16 |
간단한 Bank 프로그램 구현하기 (0) | 2020.04.13 |
입력받은 값 중 가장 큰 수 출력하기 (0) | 2020.03.31 |
입력값을 받아 구구단 출력 (0) | 2020.03.31 |
Comments