package javaExF; public class VariousFriends { public static void main(String[] args) { // ê°ì²´ ìì± Artist kim = new Artist("뮤ì§ì ê¹ì¨"); Architect lee = new Architect("ê±´ì¶ê° ì´ì¨"); Developer park = new Developer("ê°ë°ì ë°ì¨"); Lawyer choi = new Lawyer("ë³í¸ì¬ ìµì¨"); // 그룹í: ì¸í°íì´ì¤ ê¸°ì¤ Friend[] friends = {kim, lee, park, choi}; for (Friend f : friends) { f.dearFriend(); } } } /* 1. í´ë¹ ì¸í°íì´ì¤ë¥¼ ìì±íìì¤. */ interface Friend { void dearFriend(); } /* 2. ìë 모ë í´ëì¤ë¥¼ ìì±íìì¤. */ class Artist implements Friend { String name; public Artist(String name) { this.name = name; } @Override // ì¤ë²ë¼ì´ë©ì ì ê·¼ì ì´ìë ë¶ëª¨ë³´ë¤ ìê±°ë ê°ë¤. public void dearFriend() { System.out.printf("%s -> ì¹êµ¬ ìì´ê°!\n", this.name); } } class Architect implements Friend { String name; public Architect(String name) { this.name = name; } @Override public void dearFriend() { System.out.printf("%s -> ì¹êµ¬ ìì´ê°!\n", this.name); } } class Developer implements Friend { String name; public Developer(String name) { this.name = name; } @Override public void dearFriend() { System.out.printf("%s -> ì¹êµ¬ ìì´ê°!\n", this.name); } } class Lawyer implements Friend { String name; public Lawyer(String name) { this.name = name; } @Override public void dearFriend() { System.out.printf("%s -> ì¹êµ¬ ìì´ê°!\n", this.name); } }