phoneinterface-samsungphone
PhoneInterface와 SamsungPhone - 인터페이스 구현
문제 설명
다음과 같은 전화기 인터페이스 PhoneInterface가 있다고 하자.
interface PhoneInterface {
void sendCall();
void receiveCall();
default void printLogo() {
// 구현 내용은 학생이 작성
}
}
이 인터페이스를 구현하는 SamsungPhone 클래스를 작성하고,
입력으로 주어지는 명령에 따라 해당 메소드를 호출하여 동작을 출력하는 프로그램을 작성하시오.
인터페이스 및 클래스 요구 사항
1. PhoneInterface 인터페이스
- 메소드
void sendCall();void receiveCall();default void printLogo();"PHONE"이라는 문자열을 한 줄에 출력한다.
2. SamsungPhone 클래스
- 선언
class SamsungPhone implements PhoneInterface
- 메소드 구현
public void sendCall()"RING"이라는 문자열을 한 줄에 출력한다.
public void receiveCall()"CALL"이라는 문자열을 한 줄에 출력한다.
public void printLogo()PhoneInterface의 기본 구현을 그대로 사용해도 되고,
필요하다면 오버라이딩하여 같은"PHONE"을 출력해도 된다.
출력 문자열에는 영문 대문자와 개행 문자만 포함되도록 한다.
(한글, 숫자, 기타 문자는 출력하지 않는다.)
프로그램 동작 (Main 클래스)
Main 클래스의 main 메소드는 다음을 수행한다.
- 정수
n을 입력받는다. (1 ≤ n ≤ 100) - 이어서
n개의 명령 문자열을 입력받는다.- 각 명령은 다음 중 하나이다.
"LOGO""SEND""RECEIVE"
- 각 명령은 다음 중 하나이다.
SamsungPhone객체를 1개 생성한다.- 입력된 명령을 순서대로 처리하면서, 다음과 같이 동작한다.
"LOGO"→printLogo()호출"SEND"→sendCall()호출"RECEIVE"→receiveCall()호출
- 각 메소드 호출은 지정된 문자열을 한 줄 출력한다.
입력 형식
입력은 다음과 같이 주어진다.
n
cmd1 cmd2 ... cmdn
n은 명령의 개수cmdi는"LOGO","SEND","RECEIVE"중 하나
예:
4
LOGO SEND RECEIVE SEND
출력 형식
각 명령에 대응하는 메소드 호출 결과를, 한 줄에 하나씩 순서대로 출력한다.
예시 입력:
4
LOGO SEND RECEIVE SEND
예시 출력:
PHONE
RING
CALL
RING