# 다형성(쓰리잡) 인생 하나의 클래스가 여러 개의 인터페이스(역할)를 구현할 수 있습니다. ``` interface AAA { public void aaa(); } interface BBB { public void bbb(); } interface CCC { public void ccc(); } class Foo implements AAA, BBB, CCC { ... } ``` 위 코드에서 Foo 클래스의 객체는 각 인터페이스 타입으로도 해석 가능합니다. ``` // 객체 생성 Foo obj = new Foo(); // 인터페이스 타입으로 업캐스팅(해석) AAA a = obj; BBB b = obj; CCC c = obj; ``` 인터페이스 타입으로 해석된 객체는, 해당 인터페이스별 메소드를 수행 가능합니다. ``` a.aaa(); b.bbb(); c.ccc(); ``` ## 문제 쓰리잡 인생 홍팍이는 3가지의 직업(개발자, 강사, 마사지사)을 가지고 있다. ![클라우드스터딩-자바-인터페이스-다형성](https://i.imgur.com/WS1i3O0.png) 출력 예와 같이 홍팍이가 쓰리잡을 뛸 수있도록, 뼈대코드 수정하시오. ## 출력 예 ``` 홍팍 -> Java 프로그래밍 중! 홍팍 -> 자료구조 수업 중! 홍팍 -> 마사지 중! ```
관련 강의로 이동

코드: java 1.8

public class VariousRoles { public static void main(String[] args) { // Person 객체 생성 Person park = new Person("홍팍"); // 각 직업으로 변신 Developer devPark = park; Instructor instPark = park; Masseur masPark = park; /* 3. 직업별 메소드를 호출하여 코드를 완성하세요. */ devPark.programming("____"); instPark.teach("____"); masPark._______(); } } interface Developer { public void programming(String lang); } interface Instructor { public void teach(String subject); } interface Masseur { public void massage(); } /* 1. Person 클래스에 개발자, 강사, 마사지사 역할을 부여하세요. */ class Person { private String name; public Person(String name) { this.name = name; } /* 2. 구현하기로 한 인터페이스의 메소드를 오버라이딩 하세요.*/ }

입력

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