평생 소장! 19,800 원 15,000 원(계좌이체 구매 한정)


기업은행: 206-021800-01-029

예금주: 박세홍


카톡 ID: chaesam(카톡 아이디 검색 후, 문의 주세요!)

이메일: [email protected]

# 인터페이스 정의 및 구현-2 #### 대략적인 틀을 제공 인터페이스는 특정 역할에 대한 대략적인 틀만 정의합니다. 아래는 Healer 인터페이스의 예입니다. ``` // 힐러 역할 interface Healer { public void healing(); // 체력 회복 public void shield(); // 보호막 생성 } ``` #### 구체적인 내용을 작성 이제 해당 인터페이스를, 특정 클래스에 부여해보도록 하겠습니다. 이때 사용하는 키워드가 바로 <kbd>implements</kbd> 입니다. ``` // 마법사 클래스에게 Healer 인터페이스를 부여 class Wizard implements Healer { ... } ``` 특정 인터페이스를 부여받은 클래스는, 반드시 프로토타입 메소드를 오버라이딩(재정의) 해주어야만 합니다. 인터페이스는 껍데기 메소드로 이루어져있어, 실행될 수 없기 때문입니다. 따라서 아래와 같이 중괄호 내부를 정의해야 합니다. ``` class Wizard implements Healer { // 메소드 오버라이딩(재정의) public void healing() { System.out.println("체력을 회복시킵니다!"); } // 메소드 오버라이딩(재정의) public void shield() { System.out.println("보호막을 생성합니다!"); } } ``` ## 문제 주어진 코드의 Alarm 인터페이스를 SmartPhone 클래스에 구현하고, 출력 예와 같은 결과가 나오도록 코드를 완성하시오. ![클라우드스터딩-자바-인터페이스-정의-구현](https://i.imgur.com/4pRwrhu.png) ## 출력 예 ``` 삐빕! 삐비비빕~! [상어송]을 재생합니다..! ```
관련 강의로 이동

코드: java 1.8

public class SmartPhoneTest2 { public static void main(String[] args) { // 객체 생성 // 비프음 내기 // 음악 재생하기 } } interface Alarm { public void beep(); // 비프음 public void playMusic(String title); // 음악 재생 } class SmartPhone implements Alarm { private String name; // 모델명 public SmartPhone(String name) { this.name = name; } /* Alarm 인터페이스의 추상 메소드를 재정의하시오. */ }

입력

정답이 궁금하다면? 코드를 제출해보세요!